From f3053ffbd44b0310f4d7626e823f225bc10a3371 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Fri, 27 Aug 2021 23:14:06 -0400 Subject: [PATCH] BREAKING CHANGES: Major Backend Code Changes Updated Foreign keys to prepend their table names ex invoice_client_id, switched most queries over to JOIN instead of = Combined contacts and location into client removed client email, phone etc fields, tons of small bug fixes, and other small UI changes all across the board --- accounts.php | 8 +- add_asset_modal.php | 8 +- add_calendar_event_modal.php | 4 +- add_client_modal.php | 10 + add_contact_modal.php | 5 + add_domain_modal.php | 4 +- add_expense_copy_modal.php | 12 +- add_expense_modal.php | 8 +- add_expense_refund_modal.php | 6 +- add_location_modal.php | 9 +- add_login_modal.php | 6 +- add_network_modal.php | 2 +- add_payment_modal.php | 10 +- add_revenue_modal.php | 6 +- add_ticket_modal.php | 6 +- add_transfer_modal.php | 14 +- assets.php | 5 +- calendar_events.php | 6 +- check_login.php | 8 +- client.php | 159 +- client_assets.php | 37 +- client_certificates.php | 2 +- client_contacts.php | 10 +- client_documents.php | 2 +- client_domains.php | 9 +- client_events.php | 7 +- client_files.php | 4 +- client_invoices.php | 6 +- client_locations.php | 13 +- client_logins.php | 8 +- client_networks.php | 4 +- client_payments.php | 8 +- client_print.php | 36 +- client_quotes.php | 6 +- client_recurring.php | 6 +- client_software.php | 9 +- client_tickets.php | 12 +- client_trips.php | 2 +- client_vendors.php | 2 +- clients-test.php | 51 + clients.php | 74 +- cron.php | 77 +- dashboard.php | 50 +- db.sql | 188 +- edit_asset_modal.php | 16 +- edit_client_modal.php | 16 +- edit_contact_modal.php | 5 + edit_domain_modal.php | 4 +- edit_expense_modal.php | 14 +- edit_location_modal.php | 9 +- edit_login_modal.php | 12 +- edit_network_modal.php | 4 +- edit_product_modal.php | 2 +- edit_revenue_modal.php | 6 +- edit_ticket_modal.php | 12 +- ...e_modal.php => edit_ticket_reply_modal.php | 10 +- edit_transfer_modal.php | 12 +- edit_user_modal.php | 14 +- expenses.php | 12 +- guest_post.php | 12 +- guest_view_invoice.php | 72 +- guest_view_quote.php | 58 +- invoice.php | 66 +- invoices.php | 12 +- login.php | 10 +- logs.php | 77 +- payments.php | 10 +- post.php | 2473 +++++++++-------- products.php | 7 +- quote.php | 62 +- quotes.php | 8 +- recurring.php | 8 +- recurring_invoice.php | 50 +- report_expense_summary.php | 6 +- report_income_summary.php | 8 +- report_profit_loss.php | 48 +- report_tax_summary.php | 34 +- revenues.php | 8 +- settings-user.php | 4 +- setup.php | 6 +- ticket.php | 99 +- tickets.php | 19 +- transfers.php | 6 +- trips.php | 15 +- users.php | 30 +- vendors.php | 2 +- 86 files changed, 2230 insertions(+), 2047 deletions(-) create mode 100644 clients-test.php rename edit_ticket_update_modal.php => edit_ticket_reply_modal.php (66%) diff --git a/accounts.php b/accounts.php index 28f58db3..d22cc0fa 100644 --- a/accounts.php +++ b/accounts.php @@ -69,7 +69,7 @@ "> Name - Currency + Currency Balance Action @@ -84,15 +84,15 @@ $account_currency_code = $row['account_currency_code']; $account_notes = $row['account_notes']; - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments FROM payments WHERE account_id = $account_id"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments FROM payments WHERE payment_account_id = $account_id"); $row = mysqli_fetch_array($sql_payments); $total_payments = $row['total_payments']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE account_id = $account_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE revenue_account_id = $account_id"); $row = mysqli_fetch_array($sql_revenues); $total_revenues = $row['total_revenues']; - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE account_id = $account_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE expense_account_id = $account_id"); $row = mysqli_fetch_array($sql_expenses); $total_expenses = $row['total_expenses']; diff --git a/add_asset_modal.php b/add_asset_modal.php index 8b42eca8..dde24331 100644 --- a/add_asset_modal.php +++ b/add_asset_modal.php @@ -117,7 +117,7 @@ - Contact - - Network - - Vendor - - +
- +
diff --git a/add_client_modal.php b/add_client_modal.php index f6e84672..4ad6c1b9 100644 --- a/add_client_modal.php +++ b/add_client_modal.php @@ -197,6 +197,16 @@ +
+ +
+
+ +
+ +
+
+
diff --git a/add_contact_modal.php b/add_contact_modal.php index 9bfc26bd..825e3f06 100644 --- a/add_contact_modal.php +++ b/add_contact_modal.php @@ -46,6 +46,11 @@
+
+
+ > +
+
diff --git a/add_domain_modal.php b/add_domain_modal.php index 323fbbd1..d73baac5 100644 --- a/add_domain_modal.php +++ b/add_domain_modal.php @@ -31,7 +31,7 @@ - Vendor - - + - + - + - Vendor -
@@ -62,8 +67,8 @@ diff --git a/add_login_modal.php b/add_login_modal.php index 9eedcbeb..a8fb4109 100644 --- a/add_login_modal.php +++ b/add_login_modal.php @@ -96,7 +96,7 @@ - Asset - - software - - Location - - +
- +
diff --git a/add_revenue_modal.php b/add_revenue_modal.php index 68040ead..2040bac7 100644 --- a/add_revenue_modal.php +++ b/add_revenue_modal.php @@ -67,15 +67,15 @@ $account_name = $row['account_name']; $opening_balance = $row['opening_balance']; - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments FROM payments WHERE account_id = $account_id"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments FROM payments WHERE payment_account_id = $account_id"); $row = mysqli_fetch_array($sql_payments); $total_payments = $row['total_payments']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE account_id = $account_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE revenue_account_id = $account_id"); $row = mysqli_fetch_array($sql_revenues); $total_revenues = $row['total_revenues']; - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE account_id = $account_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE expense_account_id = $account_id"); $row = mysqli_fetch_array($sql_expenses); $total_expenses = $row['total_expenses']; diff --git a/add_ticket_modal.php b/add_ticket_modal.php index 098d67c3..77db0673 100644 --- a/add_ticket_modal.php +++ b/add_ticket_modal.php @@ -47,12 +47,12 @@ - + $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM assets, clients +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM assets LEFT JOIN clients ON asset_client_id = client_id WHERE (asset_name LIKE '%$q%' OR asset_type LIKE '%$q%' OR asset_make LIKE '%$q%' OR asset_model LIKE '%$q%' OR asset_serial LIKE '%$q%' OR asset_os LIKE '%$q%' OR asset_ip LIKE '%$q%' OR asset_mac LIKE '%$q%' OR client_name LIKE '%$q%') - AND DATE(asset_created_at) BETWEEN '$dtf' AND '$dtt' - AND assets.client_id = clients.client_id + AND DATE(asset_created_at) BETWEEN '$dtf' AND '$dtt' AND assets.company_id = $session_company_id ORDER BY $sb $o LIMIT $record_from, $record_to" ); diff --git a/calendar_events.php b/calendar_events.php index 39c914b1..6250dc98 100644 --- a/calendar_events.php +++ b/calendar_events.php @@ -20,7 +20,7 @@ if(isset($_GET['calendar_id'])){ 2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); + } + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); + } + $location_name = $row['location_name']; + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + $location_phone = $row['location_phone']; + if(strlen($location_phone)>2){ + $location_phone = substr($row['location_phone'],0,3)."-".substr($row['location_phone'],3,3)."-".substr($row['location_phone'],6,4); + } //Add up all the payments for the invoice and get the total amount paid to the invoice - $sql_invoice_amounts = mysqli_query($mysqli,"SELECT SUM(invoice_amount) AS invoice_amounts FROM invoices WHERE client_id = $client_id AND invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled'"); + $sql_invoice_amounts = mysqli_query($mysqli,"SELECT SUM(invoice_amount) AS invoice_amounts FROM invoices WHERE invoice_client_id = $client_id AND invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled'"); $row = mysqli_fetch_array($sql_invoice_amounts); $invoice_amounts = $row['invoice_amounts']; - $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.client_id = $client_id"); + $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_client_id = $client_id"); $row = mysqli_fetch_array($sql_amount_paid); $amount_paid = $row['amount_paid']; @@ -59,61 +85,61 @@ if(isset($_GET['client_id'])){ //Badge Counts - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('contact_id') AS num FROM contacts WHERE contact_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('contact_id') AS num FROM contacts WHERE contact_archived_at IS NULL AND contact_client_id = $client_id")); $num_contacts = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('location_id') AS num FROM locations WHERE location_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('location_id') AS num FROM locations WHERE location_archived_at IS NULL AND location_client_id = $client_id")); $num_locations = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('asset_id') AS num FROM assets WHERE asset_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('asset_id') AS num FROM assets WHERE asset_archived_at IS NULL AND asset_client_id = $client_id")); $num_assets = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('ticket_id') AS num FROM tickets WHERE ticket_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('ticket_id') AS num FROM tickets WHERE ticket_archived_at IS NULL AND ticket_client_id = $client_id")); $num_tickets = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('ticket_id') AS num FROM tickets WHERE ticket_archived_at IS NULL AND ticket_status = 'Open' AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('ticket_id') AS num FROM tickets WHERE ticket_archived_at IS NULL AND ticket_status = 'Open' AND ticket_client_id = $client_id")); $num_open_tickets = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('vendor_id') AS num FROM vendors WHERE vendor_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('vendor_id') AS num FROM vendors WHERE vendor_archived_at IS NULL AND vendor_client_id = $client_id")); $num_vendors = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('login_id') AS num FROM logins WHERE login_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('login_id') AS num FROM logins WHERE login_archived_at IS NULL AND login_client_id = $client_id")); $num_logins = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('network_id') AS num FROM networks WHERE network_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('network_id') AS num FROM networks WHERE network_archived_at IS NULL AND network_client_id = $client_id")); $num_networks = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('domain_id') AS num FROM domains WHERE domain_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('domain_id') AS num FROM domains WHERE domain_archived_at IS NULL AND domain_client_id = $client_id")); $num_domains = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('certificate_id') AS num FROM certificates WHERE certificate_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('certificate_id') AS num FROM certificates WHERE certificate_archived_at IS NULL AND certificate_client_id = $client_id")); $num_certificates = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('software_id') AS num FROM software WHERE software_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('software_id') AS num FROM software WHERE software_archived_at IS NULL AND software_client_id = $client_id")); $num_software = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_archived_at IS NULL AND invoice_client_id = $client_id")); $num_invoices = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('quote_id') AS num FROM quotes WHERE quote_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('quote_id') AS num FROM quotes WHERE quote_archived_at IS NULL AND quote_client_id = $client_id")); $num_quotes = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('recurring_id') AS num FROM recurring WHERE recurring_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('recurring_id') AS num FROM recurring WHERE recurring_archived_at IS NULL AND recurring_client_id = $client_id")); $num_recurring = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('payment_id') AS num FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('payment_id') AS num FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_client_id = $client_id")); $num_payments = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('file_id') AS num FROM files WHERE file_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('file_id') AS num FROM files WHERE file_archived_at IS NULL AND file_client_id = $client_id")); $num_files = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('document_id') AS num FROM documents WHERE document_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('document_id') AS num FROM documents WHERE document_archived_at IS NULL AND document_client_id = $client_id")); $num_documents = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('event_id') AS num FROM events WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('event_id') AS num FROM events WHERE event_client_id = $client_id")); $num_events = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('trip_id') AS num FROM trips WHERE trip_archived_at IS NULL AND client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('trip_id') AS num FROM trips WHERE trip_archived_at IS NULL AND trip_client_id = $client_id")); $num_trips = $row['num']; ?> @@ -125,48 +151,16 @@ if(isset($_GET['client_id'])){
-
-

Contact

+ - -
- - - -
- - - - - x - -
- - - +
+
+

Contact

+ + +
+ + + +
+ + + + + x + +
+ + + + +
3){ ?>

Billing

diff --git a/client_assets.php b/client_assets.php index 99d0a832..d3a3748f 100644 --- a/client_assets.php +++ b/client_assets.php @@ -39,9 +39,9 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM assets - WHERE client_id = $client_id - AND (asset_name LIKE '%$q%' OR asset_type LIKE '%$q%' OR asset_ip LIKE '%$q%' OR asset_make LIKE '%$q%' OR asset_model LIKE '%$q%' OR asset_serial LIKE '%$q%') +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM assets LEFT JOIN contacts ON asset_contact_id = contact_id LEFT JOIN locations ON asset_location_id = location_id LEFT JOIN logins ON login_asset_id = asset_id + WHERE asset_client_id = $client_id + AND (asset_name LIKE '%$q%' OR asset_type LIKE '%$q%' OR asset_ip LIKE '%$q%' OR asset_make LIKE '%$q%' OR asset_model LIKE '%$q%' OR asset_serial LIKE '%$q%' OR contact_name LIKE '%$q%' OR location_name LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); @@ -89,8 +89,8 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); Make/Model Primary IP Serial Number - Contact - Location + Contact + Location Action @@ -121,10 +121,10 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $asset_warranty_expire = $row['asset_warranty_expire']; $asset_notes = $row['asset_notes']; $asset_created_at = $row['asset_created_at']; - $vendor_id = $row['vendor_id']; - $location_id = $row['location_id']; - $contact_id = $row['contact_id']; - $network_id = $row['network_id']; + $asset_vendor_id = $row['asset_vendor_id']; + $asset_location_id = $row['asset_location_id']; + $asset_contact_id = $row['asset_contact_id']; + $asset_network_id = $row['asset_network_id']; if($asset_type == 'Laptop'){ $device_icon = "laptop"; @@ -154,33 +154,26 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $device_icon = "tag"; } - $sql_logins = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE asset_id = $asset_id"); - $row = mysqli_fetch_array($sql_logins); - $login_id = $row['login_id']; - $login_username = $row['login_username']; - $login_password = $row['login_password']; - $asset_id_relation = $row['asset_id']; - - $sql_contact = mysqli_query($mysqli,"SELECT * FROM contacts WHERE contact_id = $contact_id"); - $row = mysqli_fetch_array($sql_contact); $contact_name = $row['contact_name']; if(empty($contact_name)){ $contact_name = "-"; } - - $sql_location = mysqli_query($mysqli,"SELECT * FROM locations WHERE location_id = $location_id"); - $row = mysqli_fetch_array($sql_location); + $location_name = $row['location_name']; if(empty($location_name)){ $location_name = "-"; } + + $login_id = $row['login_id']; + $login_username = $row['login_username']; + $login_password = $row['login_password']; ?> 0){ ?> diff --git a/client_certificates.php b/client_certificates.php index c9afb845..f80d306a 100644 --- a/client_certificates.php +++ b/client_certificates.php @@ -40,7 +40,7 @@ if(isset($_GET['o'])){ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM certificates - WHERE client_id = $client_id AND (certificate_name LIKE '%$q%' OR certificate_domain LIKE '%$q%' OR certificate_issued_by LIKE '%$q%') + WHERE certificate_client_id = $client_id AND (certificate_name LIKE '%$q%' OR certificate_domain LIKE '%$q%' OR certificate_issued_by LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); diff --git a/client_contacts.php b/client_contacts.php index c792f28f..a7db1c15 100644 --- a/client_contacts.php +++ b/client_contacts.php @@ -39,7 +39,7 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM contacts WHERE contact_archived_at IS NULL AND (contact_name LIKE '%$q%') AND client_id = $client_id ORDER BY $sb $o LIMIT $record_from, $record_to"); +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM contacts WHERE contact_archived_at IS NULL AND (contact_name LIKE '%$q%') AND contact_client_id = $client_id ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); @@ -129,7 +129,12 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $contact_photo = $row['contact_photo']; $contact_initials = initials($contact_name); $contact_notes = $row['contact_notes']; - $contact_created_at = $row['contact_created_at']; + $contact_created_at = $row['contact_created_at']; + if($contact_id == $primary_contact){ + $primary_contact_display = "

Primary Contact

"; + }else{ + $primary_contact_display = ""; + } ?> @@ -149,6 +154,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
+
diff --git a/client_documents.php b/client_documents.php index 631ee9db..7f64999b 100644 --- a/client_documents.php +++ b/client_documents.php @@ -40,7 +40,7 @@ if(isset($_GET['o'])){ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM documents - WHERE documents.client_id = $client_id + WHERE document_client_id = $client_id AND documents.company_id = $session_company_id AND (document_name LIKE '%$q%' OR document_details LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/client_domains.php b/client_domains.php index 4b516c9c..ebb978f8 100644 --- a/client_domains.php +++ b/client_domains.php @@ -39,8 +39,8 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM domains - WHERE client_id = $client_id AND (domain_name LIKE '%$q%') +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM domains LEFT JOIN vendors ON domain_registrar = vendor_id + WHERE domain_client_id = $client_id AND (domain_name LIKE '%$q%' OR vendor_name LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); @@ -84,7 +84,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); "> Domain - Registrar + Registrar WebHost Expire Action @@ -99,9 +99,6 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $domain_registrar = $row['domain_registrar']; $domain_webhost = $row['domain_webhost']; $domain_expire = $row['domain_expire']; - - $sql_domain_registrar = mysqli_query($mysqli,"SELECT vendor_name FROM vendors WHERE vendor_id = $domain_registrar"); - $row = mysqli_fetch_array($sql_domain_registrar); $domain_registrar_name = $row['vendor_name']; if(empty($domain_registrar_name)){ $domain_registrar_name = "-"; diff --git a/client_events.php b/client_events.php index a70728fd..4d240fc5 100644 --- a/client_events.php +++ b/client_events.php @@ -13,9 +13,12 @@ if(isset($_GET['calendar_id'])){ + + $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM invoices, categories - WHERE invoices.client_id = $client_id - AND invoices.category_id = categories.category_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM invoices + LEFT JOIN categories ON invoice_category_id = category_id + WHERE invoice_client_id = $client_id AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$q%' OR invoice_scope LIKE '%$q%' OR category_name LIKE '%$q%' OR invoice_status LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/client_locations.php b/client_locations.php index 164e2359..74cb8ff2 100644 --- a/client_locations.php +++ b/client_locations.php @@ -40,7 +40,7 @@ if(isset($_GET['o'])){ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM locations - WHERE client_id = $client_id + WHERE location_client_id = $client_id AND (location_name LIKE '%$q%' OR location_address LIKE '%$q%' OR location_phone LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); @@ -103,10 +103,11 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $location_state = $row['location_state']; $location_zip = $row['location_zip']; $location_phone = $row['location_phone']; + if(strlen($location_phone)>2){ $location_phone = substr($row['location_phone'],0,3)."-".substr($row['location_phone'],3,3)."-".substr($row['location_phone'],6,4); } - if(empty($location_phones)){ + if(empty($location_phone)){ $location_phone_display = "-"; }else{ $location_phone_display = $location_phone; @@ -121,13 +122,19 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $location_notes = $row['location_notes']; $location_primary = $row['location_primary']; $location_created_at = $row['location_created_at']; - $contact_id = $row['contact_id']; + $location_contact_id = $row['location_contact_id']; + if($location_id == $primary_location){ + $primary_location_display = "

Primary Location

"; + }else{ + $primary_location_display = ""; + } ?> + " target="_blank">
diff --git a/client_logins.php b/client_logins.php index b3794d8f..be7b8397 100644 --- a/client_logins.php +++ b/client_logins.php @@ -40,7 +40,7 @@ if(isset($_GET['o'])){ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins - WHERE client_id = $client_id + WHERE login_client_id = $client_id AND (login_name LIKE '%$q%' OR login_username LIKE '%$q%' OR login_uri LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); @@ -119,9 +119,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $otp_display = " $otp"; } $login_note = $row['login_note']; - $vendor_id = $row['vendor_id']; - $asset_id = $row['asset_id']; - $software_id = $row['software_id']; + $login_vendor_id = $row['login_vendor_id']; + $login_asset_id = $row['login_asset_id']; + $login_software_id = $row['login_software_id']; ?> diff --git a/client_networks.php b/client_networks.php index f6db112f..7c82dfd0 100644 --- a/client_networks.php +++ b/client_networks.php @@ -40,7 +40,7 @@ if(isset($_GET['o'])){ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM networks - WHERE client_id = $client_id + WHERE network_client_id = $client_id AND (network_name LIKE '%$q%' OR network_vlan LIKE '%$q%' OR network LIKE '%$q%' OR network_gateway LIKE '%$q%' OR network_dhcp_range LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); @@ -112,7 +112,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $network_dhcp_range_display = $network_dhcp_range; } $network_created_at = $row['network_created_at']; - $location_id = $row['location_id']; + $network_location_id = $row['network_location_id']; ?> diff --git a/client_payments.php b/client_payments.php index 0396c73f..f4d4db8a 100644 --- a/client_payments.php +++ b/client_payments.php @@ -39,10 +39,10 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM payments, invoices, accounts - WHERE invoices.client_id = $client_id - AND payments.invoice_id = invoices.invoice_id - AND payments.account_id = accounts.account_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM payments + LEFT JOIN invoices ON payment_invoice_id = invoice_id + LEFT JOIN accounts ON payment_account_id = account_id + WHERE invoice_client_id = $client_id AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$q%' OR account_name LIKE '%$q%' OR payment_method LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/client_print.php b/client_print.php index 6c6cd85d..c9b21924 100644 --- a/client_print.php +++ b/client_print.php @@ -22,14 +22,14 @@ if(isset($_GET['client_id'])){ $client_net_terms = $row['client_net_terms']; //Query each table and store them in their array - $sql_contacts = mysqli_query($mysqli,"SELECT * FROM contacts WHERE client_id = $client_id ORDER BY contact_name ASC"); - $sql_locations = mysqli_query($mysqli,"SELECT * FROM locations WHERE client_id = $client_id ORDER BY location_name ASC"); - $sql_assets = mysqli_query($mysqli,"SELECT * FROM assets WHERE client_id = $client_id ORDER BY asset_type ASC"); - $sql_vendors = mysqli_query($mysqli,"SELECT * FROM vendors WHERE client_id = $client_id ORDER BY vendor_name ASC"); - $sql_logins = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE client_id = $client_id ORDER BY login_name ASC"); - $sql_networks = mysqli_query($mysqli,"SELECT * FROM networks WHERE client_id = $client_id ORDER BY network_name ASC"); - $sql_domains = mysqli_query($mysqli,"SELECT * FROM domains WHERE client_id = $client_id ORDER BY domain_name ASC"); - $sql_software = mysqli_query($mysqli,"SELECT * FROM software WHERE client_id = $client_id ORDER BY software_name ASC"); + $sql_contacts = mysqli_query($mysqli,"SELECT * FROM contacts WHERE contact_client_id = $client_id ORDER BY contact_name ASC"); + $sql_locations = mysqli_query($mysqli,"SELECT * FROM locations WHERE location_client_id = $client_id ORDER BY location_name ASC"); + $sql_assets = mysqli_query($mysqli,"SELECT * FROM assets WHERE asset_client_id = $client_id ORDER BY asset_type ASC"); + $sql_vendors = mysqli_query($mysqli,"SELECT * FROM vendors WHERE vendor_client_id = $client_id ORDER BY vendor_name ASC"); + $sql_logins = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE login_client_id = $client_id ORDER BY login_name ASC"); + $sql_networks = mysqli_query($mysqli,"SELECT * FROM networks WHERE network_client_id = $client_id ORDER BY network_name ASC"); + $sql_domains = mysqli_query($mysqli,"SELECT * FROM domains WHERE domain_client_id = $client_id ORDER BY domain_name ASC"); + $sql_software = mysqli_query($mysqli,"SELECT * FROM software WHERE software_client_id = $client_id ORDER BY software_name ASC"); $sql_invoices = mysqli_query($mysqli,"SELECT * FROM invoices WHERE client_id = $client_id ORDER BY invoice_number DESC"); $sql_payments = mysqli_query($mysqli,"SELECT * FROM payments, invoices, accounts @@ -42,24 +42,24 @@ if(isset($_GET['client_id'])){ $sql_recurring = mysqli_query($mysqli,"SELECT * FROM recurring WHERE client_id = $client_id ORDER BY recurring_id DESC"); - $sql_documents = mysqli_query($mysqli,"SELECT * FROM documents WHERE client_id = $client_id ORDER BY document_created_at DESC"); + $sql_documents = mysqli_query($mysqli,"SELECT * FROM documents WHERE document_client_id = $client_id ORDER BY document_created_at DESC"); //Get Counts - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('contact_id') AS num FROM contacts WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('contact_id') AS num FROM contacts WHERE contact_client_id = $client_id")); $num_contacts = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('location_id') AS num FROM locations WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('location_id') AS num FROM locations WHERE location_client_id = $client_id")); $num_locations = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('asset_id') AS num FROM assets WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('asset_id') AS num FROM assets WHERE asset_client_id = $client_id")); $num_assets = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('vendor_id') AS num FROM vendors WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('vendor_id') AS num FROM vendors WHERE vendor_client_id = $client_id")); $num_vendors = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('login_id') AS num FROM logins WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('login_id') AS num FROM logins WHERE login_client_id = $client_id")); $num_logins = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('network_id') AS num FROM networks WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('network_id') AS num FROM networks WHERE network_client_id = $client_id")); $num_networks = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('domain_id') AS num FROM domains WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('domain_id') AS num FROM domains WHERE domain_client_id = $client_id")); $num_domains = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('software_id') AS num FROM software WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('software_id') AS num FROM software WHERE software_client_id = $client_id")); $num_software = $row['num']; $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('invoice_id') AS num FROM invoices WHERE client_id = $client_id")); @@ -74,7 +74,7 @@ if(isset($_GET['client_id'])){ $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('recurring_id') AS num FROM recurring WHERE client_id = $client_id")); $num_recurring = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('document_id') AS num FROM documents WHERE client_id = $client_id")); + $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('document_id') AS num FROM documents WHERE document_client_id = $client_id")); $num_documents = $row['num']; ?> diff --git a/client_quotes.php b/client_quotes.php index 92f02e84..0295fc14 100644 --- a/client_quotes.php +++ b/client_quotes.php @@ -39,9 +39,9 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM quotes, categories - WHERE client_id = $client_id - AND categories.category_id = quotes.category_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM quotes + LEFT JOIN categories ON category_id = quote_category_id + WHERE quote_client_id = $client_id AND (CONCAT(quote_prefix,quote_number) LIKE '%$q%' OR quote_scope LIKE '%$q%' OR category_name LIKE '%$q%' OR quote_status LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/client_recurring.php b/client_recurring.php index 360c640c..0e3eb77e 100644 --- a/client_recurring.php +++ b/client_recurring.php @@ -39,9 +39,9 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT * FROM recurring, categories - WHERE recurring.client_id = $client_id - AND recurring.category_id = categories.category_id +$sql = mysqli_query($mysqli,"SELECT * FROM recurring + LEFT JOIN categories ON recurring_category_id = category_id + WHERE recurring_client_id = $client_id AND (CONCAT(recurring_prefix,recurring_number) LIKE '%$q%' OR recurring_frequency LIKE '%$q%' OR recurring_scope LIKE '%$q%' OR category_name LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/client_software.php b/client_software.php index db021bf0..53eb432a 100644 --- a/client_software.php +++ b/client_software.php @@ -39,8 +39,8 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM software - WHERE client_id = $client_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM software LEFT JOIN logins ON login_software_id = software_id + WHERE software_client_id = $client_id AND (software_name LIKE '%$q%' OR software_type LIKE '%$q%' OR software_license LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); @@ -105,12 +105,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); } $software_notes = $row['software_notes']; - $sql_login = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE software_id = $software_id"); - $row = mysqli_fetch_array($sql_login); $login_id = $row['login_id']; $login_username = $row['login_username']; $login_password = $row['login_password']; - $software_id_relation = $row['software_id']; ?> @@ -119,7 +116,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); 0){ ?> diff --git a/client_tickets.php b/client_tickets.php index 07b4e3f5..1ec5aa9c 100644 --- a/client_tickets.php +++ b/client_tickets.php @@ -39,9 +39,9 @@ if(isset($_GET['o'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM tickets - WHERE client_id = $client_id - AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR ticket_status LIKE '%$q%' OR ticket_priority LIKE '%$q%') +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM tickets LEFT JOIN users ON ticket_assigned_to = user_id + WHERE ticket_client_id = $client_id + AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR ticket_status LIKE '%$q%' OR ticket_priority LIKE '%$q%' OR user_name LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); @@ -87,7 +87,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); Priority Status Subject - Assigned + Assigned Last Response Created @@ -136,9 +136,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); if(empty($ticket_assigned_to)){ $ticket_assigned_to_display = "

Not Assigned

"; }else{ - $sql_assigned_to = mysqli_query($mysqli,"SELECT * FROM users WHERE user_id = $ticket_assigned_to"); - $row = mysqli_fetch_array($sql_assigned_to); - $ticket_assigned_to_display = $row['name']; + $ticket_assigned_to_display = $row['user_name']; } ?> diff --git a/client_trips.php b/client_trips.php index f224c0b0..51c26009 100644 --- a/client_trips.php +++ b/client_trips.php @@ -52,7 +52,7 @@ $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM trips WHERE (trip_purpose LIKE '%$q%' OR trip_source LIKE '%$q%' OR trip_destination LIKE '%$q%') AND DATE(trip_date) BETWEEN '$dtf' AND '$dtt' AND company_id = $session_company_id - AND client_id = $client_id + AND trip_client_id = $client_id ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); diff --git a/client_vendors.php b/client_vendors.php index 096a617d..c7e83b60 100644 --- a/client_vendors.php +++ b/client_vendors.php @@ -40,7 +40,7 @@ if(isset($_GET['o'])){ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM vendors - WHERE client_id = $client_id + WHERE vendor_client_id = $client_id AND (vendor_name LIKE '%$q%' OR vendor_description LIKE '%$q%' OR vendor_account_number LIKE '%$q%' ) ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/clients-test.php b/clients-test.php new file mode 100644 index 00000000..5f41718b --- /dev/null +++ b/clients-test.php @@ -0,0 +1,51 @@ + + +
+
+

Clients

+
+ +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
Client IDClientContact NameLocation
+
+
+
+ + $sortby, 'order' => $order))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM clients - WHERE (client_name LIKE '%$query%' OR client_type LIKE '%$query%' OR client_support LIKE '%$query%' OR client_email LIKE '%$query%' OR client_contact LIKE '%$query%' OR client_phone LIKE '%$query%' - OR client_mobile LIKE '%$query%' OR client_address LIKE '%$query%' OR client_city LIKE '%$query%' OR client_state LIKE '%$query%' OR client_zip LIKE '%$query%') +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM clients LEFT JOIN contacts ON clients.primary_contact = contacts.contact_id LEFT JOIN locations ON clients.primary_location = locations.location_id + WHERE (client_name LIKE '%$query%' OR client_type LIKE '%$query%' OR client_support LIKE '%$query%' OR contact_email LIKE '%$query%' OR contact_name LIKE '%$query%' OR contact_phone LIKE '%$query%' + OR contact_mobile LIKE '%$query%' OR location_address LIKE '%$query%' OR location_city LIKE '%$query%' OR location_state LIKE '%$query%' OR location_zip LIKE '%$query%') AND DATE(client_created_at) BETWEEN '$date_from' AND '$date_to' - AND company_id = $session_company_id $permission_sql + AND clients.company_id = $session_company_id $permission_sql ORDER BY $sortby $order LIMIT $record_from, $record_to" -); +); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); @@ -153,9 +153,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); "> - - - + + + @@ -167,27 +167,27 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $client_id = $row['client_id']; $client_name = $row['client_name']; $client_type = $row['client_type']; - $client_country = $row['client_country']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - if(empty($client_address)){ - $client_address_display = "-"; + $location_country = $row['location_country']; + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + if(empty($location_address) AND empty($location_city) AND empty($location_state) AND empty($location_zip)){ + $location_address_display = "-"; }else{ - $client_address_display = "$client_address
$client_city $client_state $client_zip"; + $location_address_display = "$location_address
$location_city $location_state $location_zip"; } - $client_contact = $row['client_contact']; - $client_phone = $row['client_phone']; + $contact_name = $row['contact_name']; + $contact_phone = $row['contact_phone']; if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); } - $client_extension = $row['client_extension']; - $client_mobile = $row['client_mobile']; - if(strlen($client_mobile)>2){ - $client_mobile = substr($row['client_mobile'],0,3)."-".substr($row['client_mobile'],3,3)."-".substr($row['client_mobile'],6,4); + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } - $client_email = $row['client_email']; + $contact_email = $row['contact_email']; $client_website = $row['client_website']; $client_currency_code = $row['client_currency_code']; $client_net_terms = $row['client_net_terms']; @@ -198,12 +198,12 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $client_updated_at = $row['client_updated_at']; //Add up all the payments for the invoice and get the total amount paid to the invoice - $sql_invoice_amounts = mysqli_query($mysqli,"SELECT SUM(invoice_amount) AS invoice_amounts FROM invoices WHERE client_id = $client_id AND invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled' "); + $sql_invoice_amounts = mysqli_query($mysqli,"SELECT SUM(invoice_amount) AS invoice_amounts FROM invoices WHERE invoice_client_id = $client_id AND invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled' "); $row = mysqli_fetch_array($sql_invoice_amounts); $invoice_amounts = $row['invoice_amounts']; - $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.client_id = $client_id"); + $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_client_id = $client_id"); $row = mysqli_fetch_array($sql_amount_paid); $amount_paid = $row['amount_paid']; @@ -229,43 +229,43 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
Added: - + 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND company_id = $session_company_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenue_category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_revenues); $revenues_for_month = $row['revenue_amount_for_month']; @@ -528,7 +528,7 @@ var myLineChart = new Chart(ctx, { $largest_expense_month = 0; for($month = 1; $month<=12; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND expenses.company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND expenses.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expenses_for_month = $row['expense_amount_for_month']; @@ -667,7 +667,7 @@ var myPieChart = new Chart(ctx, { data: { labels: [ 0 AND YEAR(expense_date) = $year AND categories.company_id = $session_company_id"); + $sql_categories = mysqli_query($mysqli,"SELECT DISTINCT category_name, categories.category_id FROM categories, expenses WHERE expense_category_id = category_id AND expense_vendor_id > 0 AND YEAR(expense_date) = $year AND categories.company_id = $session_company_id"); while($row = mysqli_fetch_array($sql_categories)){ $category_name = $row['category_name']; echo "\"$category_name\","; @@ -736,11 +736,11 @@ var myPieChart = new Chart(ctx, { datasets: [{ data: [ 0 AND YEAR(expense_date) = $year AND categories.company_id = $session_company_id"); + $sql_categories = mysqli_query($mysqli,"SELECT DISTINCT category_name, categories.category_id FROM categories, expenses WHERE expense_category_id = category_id AND expense_vendor_id > 0 AND YEAR(expense_date) = $year AND categories.company_id = $session_company_id"); while($row = mysqli_fetch_array($sql_categories)){ $category_id = $row['category_id']; - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_year FROM expenses WHERE category_id = $category_id AND YEAR(expense_date) = $year"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_year FROM expenses WHERE expense_category_id = $category_id AND YEAR(expense_date) = $year"); $row = mysqli_fetch_array($sql_expenses); $expense_amount_for_year = $row['expense_amount_for_year']; echo "$expense_amount_for_year,"; @@ -751,7 +751,7 @@ var myPieChart = new Chart(ctx, { ], backgroundColor: [ 0 AND YEAR(expense_date) = $year AND categories.company_id = $session_company_id"); + $sql_categories = mysqli_query($mysqli,"SELECT DISTINCT category_name, category_color FROM categories, expenses WHERE expense_category_id = categories.category_id AND expense_vendor_id > 0 AND YEAR(expense_date) = $year AND categories.company_id = $session_company_id"); while($row = mysqli_fetch_array($sql_categories)){ $category_color = $row['category_color']; echo "\"$category_color\","; @@ -777,7 +777,7 @@ var myPieChart = new Chart(ctx, { data: { labels: [ - Location - - + - Contact - '$asset_created_at' OR contact_archived_at IS NULL) AND client_id = $client_id ORDER BY contact_name ASC"); + $sql_contacts = mysqli_query($mysqli,"SELECT * FROM contacts WHERE (contact_archived_at > '$asset_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id ORDER BY contact_name ASC"); while($row = mysqli_fetch_array($sql_contacts)){ $contact_id_select = $row['contact_id']; $contact_name_select = $row['contact_name']; ?> - + - Network - '$asset_created_at' OR network_archived_at IS NULL) AND client_id = $client_id ORDER BY network_name ASC"); + $sql_networks = mysqli_query($mysqli,"SELECT * FROM networks WHERE (network_archived_at > '$asset_created_at' OR network_archived_at IS NULL) AND network_client_id = $client_id ORDER BY network_name ASC"); while($row = mysqli_fetch_array($sql_networks)){ $network_id_select = $row['network_id']; $network_name_select = $row['network_name']; $network_select = $row['network']; ?> - + - Vendor - '$asset_created_at' OR vendor_archived_at IS NULL) AND client_id = $client_id ORDER BY vendor_name ASC"); + $sql_vendors = mysqli_query($mysqli,"SELECT * FROM vendors WHERE (vendor_archived_at > '$asset_created_at' OR vendor_archived_at IS NULL) AND vendor_client_id = $client_id ORDER BY vendor_name ASC"); while($row = mysqli_fetch_array($sql_vendors)){ $vendor_id_select = $row['vendor_id']; $vendor_name_select = $row['vendor_name']; ?> - + @@ -30,7 +30,7 @@
-
+
@@ -123,7 +123,7 @@
-
+
@@ -187,7 +187,7 @@
-
+
@@ -248,7 +248,7 @@
-
+
diff --git a/edit_contact_modal.php b/edit_contact_modal.php index 294977fe..64c2d372 100644 --- a/edit_contact_modal.php +++ b/edit_contact_modal.php @@ -48,6 +48,11 @@
+
+
+ > +
+
diff --git a/edit_domain_modal.php b/edit_domain_modal.php index 11820371..0f10ea49 100644 --- a/edit_domain_modal.php +++ b/edit_domain_modal.php @@ -31,7 +31,7 @@ - Vendor - - + '$expense_created_at' OR vendor_archived_at IS NULL) AND company_id = $session_company_id ORDER BY vendor_name ASC"); + $sql_select = mysqli_query($mysqli,"SELECT * FROM vendors WHERE vendor_client_id = 0 AND (vendor_archived_at > '$expense_created_at' OR vendor_archived_at IS NULL) AND company_id = $session_company_id ORDER BY vendor_name ASC"); while($row = mysqli_fetch_array($sql_select)){ $vendor_id_select = $row['vendor_id']; $vendor_name_select = $row['vendor_name']; ?> - + - +
+
+
+ > +
+
@@ -64,13 +69,13 @@ '$location_created_at' OR contact_archived_at IS NULL) AND client_id = $client_id ORDER BY contact_name ASC"); + $sql_contacts = mysqli_query($mysqli,"SELECT * FROM contacts WHERE (contact_archived_at > '$location_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id ORDER BY contact_name ASC"); while($row = mysqli_fetch_array($sql_contacts)){ $contact_id_select = $row['contact_id']; $contact_name_select = $row['contact_name']; ?> - + - None - - + - None - - + - None - - + - Location - '$network_created_at' OR location_archived_at IS NULL) AND client_id = $client_id ORDER BY location_name ASC"); + $sql_locations = mysqli_query($mysqli,"SELECT * FROM locations WHERE (location_archived_at > '$network_created_at' OR location_archived_at IS NULL) AND location_client_id = $client_id ORDER BY location_name ASC"); while($row = mysqli_fetch_array($sql_locations)){ $location_id_select = $row['location_id']; $location_name_select = $row['location_name']; ?> - + - + Not Assigned - +
- +
- +
@@ -80,7 +80,7 @@ " tabindex="-1"> + @@ -190,7 +192,7 @@ if(isset($_GET['invoice_id'], $_GET['url_key'])){
- +
@@ -355,7 +357,7 @@ var docDefinition = { style: 'invoiceBillingAddress' }, { - text: , + text: , style: 'invoiceBillingAddressClient' }, ] @@ -443,7 +445,7 @@ var docDefinition = { $total_tax = 0; $sub_total = 0; - $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE invoice_id = $invoice_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_id ASC"); while($row = mysqli_fetch_array($sql_invoice_items)){ $item_name = $row['item_name']; @@ -453,7 +455,7 @@ var docDefinition = { $item_subtotal = $row['item_price']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; $total_tax = $item_tax + $total_tax; $sub_total = $item_price * $item_quantity + $sub_total; ?> @@ -716,7 +718,7 @@ var docDefinition = { 1){ @@ -775,7 +777,7 @@ var docDefinition = { CURDATE() AND(invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial') ORDER BY invoice_number DESC"); + $sql = mysqli_query($mysqli,"SELECT * FROM invoices WHERE invoice_client_id = $client_id AND invoice_due > CURDATE() AND(invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial') ORDER BY invoice_number DESC"); if(mysqli_num_rows($sql) > 1){ @@ -835,7 +837,7 @@ var docDefinition = { 1){ @@ -884,7 +886,7 @@ var docDefinition = { 2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); } - $client_extension = $row['client_extension']; - $client_mobile = $row['client_mobile']; - if(strlen($client_mobile)>2){ - $client_mobile = substr($row['client_mobile'],0,3)."-".substr($row['client_mobile'],3,3)."-".substr($row['client_mobile'],6,4); + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } $client_website = $row['client_website']; $client_currency_code = $row['client_currency_code']; @@ -78,7 +80,7 @@ if(isset($_GET['quote_id'], $_GET['url_key'])){ } //Mark viewed in history - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = '$quote_status', history_description = 'Quote viewed - $ip - $os - $browser - $device', history_created_at = NOW(), quote_id = $quote_id, company_id = $company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = '$quote_status', history_description = 'Quote viewed - $ip - $os - $browser - $device', history_created_at = NOW(), history_quote_id = $quote_id, company_id = $company_id"); mysqli_query($mysqli,"INSERT INTO alerts SET alert_type = 'Quote Viewed', alert_message = 'Quote $quote_number has been viewed by $client_name - $ip - $os - $browser - $device', alert_date = NOW(), company_id = $company_id"); @@ -129,11 +131,11 @@ if(isset($_GET['quote_id'], $_GET['url_key'])){
  • -
  • -
  • -
  • -
  • -
  • +
  • +
  • +
  • +
  • +
@@ -151,7 +153,7 @@ if(isset($_GET['quote_id'], $_GET['url_key'])){
- +
@@ -314,7 +316,7 @@ var docDefinition = { style: 'invoiceBillingAddress' }, { - text: , + text: , style: 'invoiceBillingAddressClient' }, ] @@ -391,7 +393,7 @@ var docDefinition = { $total_tax = 0; $sub_total = 0; - $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE quote_id = $quote_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_quote_id = $quote_id ORDER BY item_id ASC"); while($row = mysqli_fetch_array($sql_invoice_items)){ $item_name = $row['item_name']; @@ -401,7 +403,7 @@ var docDefinition = { $item_subtotal = $row['item_price']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; $total_tax = $item_tax + $total_tax; $sub_total = $item_price * $item_quantity + $sub_total; ?> diff --git a/invoice.php b/invoice.php index 23432415..e80156cc 100644 --- a/invoice.php +++ b/invoice.php @@ -6,10 +6,12 @@ if(isset($_GET['invoice_id'])){ $invoice_id = intval($_GET['invoice_id']); - $sql = mysqli_query($mysqli,"SELECT * FROM invoices, clients, companies - WHERE invoices.client_id = clients.client_id - AND invoices.company_id = companies.company_id - AND invoices.invoice_id = $invoice_id" + $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 companies ON invoices.company_id = companies.company_id + WHERE invoice_id = $invoice_id" ); if(mysqli_num_rows($sql) == 0){ @@ -29,22 +31,22 @@ if(isset($_GET['invoice_id'])){ $invoice_note = $row['invoice_note']; $invoice_url_key = $row['invoice_url_key']; $invoice_created_at = $row['invoice_created_at']; - $category_id = $row['category_id']; + $category_id = $row['invoice_category_id']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); } - $client_extension = $row['client_extension']; - $client_mobile = $row['client_mobile']; - if(strlen($client_mobile)>2){ - $client_mobile = substr($row['client_mobile'],0,3)."-".substr($row['client_mobile'],3,3)."-".substr($row['client_mobile'],6,4); + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } $client_website = $row['client_website']; $client_currency_code = $row['client_currency_code']; @@ -69,12 +71,12 @@ if(isset($_GET['invoice_id'])){ if(!empty($company_logo)){ $company_logo_base64 = base64_encode(file_get_contents($row['company_logo'])); } - $sql_history = mysqli_query($mysqli,"SELECT * FROM history WHERE invoice_id = $invoice_id ORDER BY history_id DESC"); + $sql_history = mysqli_query($mysqli,"SELECT * FROM history WHERE history_invoice_id = $invoice_id ORDER BY history_id DESC"); - $sql_payments = mysqli_query($mysqli,"SELECT * FROM payments, accounts WHERE payments.account_id = accounts.account_id AND payments.invoice_id = $invoice_id ORDER BY payments.payment_id DESC"); + $sql_payments = mysqli_query($mysqli,"SELECT * FROM payments, accounts WHERE payment_account_id = account_id AND payment_invoice_id = $invoice_id ORDER BY payments.payment_id DESC"); //Add up all the payments for the invoice and get the total amount paid to the invoice - $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments WHERE invoice_id = $invoice_id"); + $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments WHERE payment_invoice_id = $invoice_id"); $row = mysqli_fetch_array($sql_amount_paid); $amount_paid = $row['amount_paid']; @@ -130,7 +132,7 @@ if(isset($_GET['invoice_id'])){ Send @@ -228,7 +230,7 @@ if(isset($_GET['invoice_id'])){
- +
@@ -261,7 +263,7 @@ if(isset($_GET['invoice_id'])){ $item_tax = $row['item_tax']; $item_total = $row['item_total']; $item_created_at = $row['item_created_at']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; $total_tax = $item_tax + $total_tax; $sub_total = $item_price * $item_quantity + $sub_total; @@ -556,7 +558,7 @@ var docDefinition = { style: 'invoiceBillingAddress' }, { - text: , + text: , style: 'invoiceBillingAddressClient' }, ] @@ -644,7 +646,7 @@ var docDefinition = { $total_tax = 0; $sub_total = 0; - $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE invoice_id = $invoice_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_id ASC"); while($row = mysqli_fetch_array($sql_invoice_items)){ $item_name = $row['item_name']; @@ -654,7 +656,7 @@ var docDefinition = { $item_subtotal = $row['item_price']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; $total_tax = $item_tax + $total_tax; $sub_total = $item_price * $item_quantity + $sub_total; ?> diff --git a/invoices.php b/invoices.php index a95b7e4a..e68554b0 100644 --- a/invoices.php +++ b/invoices.php @@ -36,12 +36,12 @@ $row = mysqli_fetch_array($sql_total_cancelled); $total_cancelled = $row['total_cancelled']; - $sql_total_partial = mysqli_query($mysqli,"SELECT SUM(invoice_amount) AS total_partial FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.invoice_status = 'Partial' AND invoices.company_id = $session_company_id"); + $sql_total_partial = mysqli_query($mysqli,"SELECT SUM(invoice_amount) AS total_partial FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_status = 'Partial' AND invoices.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_partial); $total_partial = $row['total_partial']; $total_partial_count = mysqli_num_rows($sql_total_partial); - $sql_total_overdue_partial = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_overdue_partial FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.invoice_status = 'Partial' AND invoices.invoice_due < CURDATE() AND invoices.company_id = $session_company_id"); + $sql_total_overdue_partial = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_overdue_partial FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_status = 'Partial' AND invoice_due < CURDATE() AND invoices.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_overdue_partial); $total_overdue_partial = $row['total_overdue_partial']; @@ -123,10 +123,10 @@ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); - $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM invoices, clients, categories - WHERE invoices.client_id = clients.client_id - AND invoices.category_id = categories.category_id - AND invoices.company_id = $session_company_id + $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM invoices + LEFT JOIN clients ON invoice_client_id = client_id + LEFT JOIN categories ON invoice_category_id = category_id + WHERE invoices.company_id = $session_company_id AND DATE(invoice_date) BETWEEN '$dtf' AND '$dtt' AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$q%' OR invoice_scope LIKE '%$q%' OR client_name LIKE '%$q%' OR invoice_status LIKE '%$q%' OR category_name LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/login.php b/login.php index 7a109976..823234e9 100644 --- a/login.php +++ b/login.php @@ -30,14 +30,14 @@ if(isset($_POST['login'])){ if(!empty($token)){ $current_code = mysqli_real_escape_string($mysqli,$_POST['current_code']); } - $sql = mysqli_query($mysqli,"SELECT * FROM users WHERE email = '$username' AND password = '$password'"); + $sql = mysqli_query($mysqli,"SELECT * FROM users WHERE user_email = '$username' AND user_password = '$password'"); if(mysqli_num_rows($sql) == 1){ $row = mysqli_fetch_array($sql); $token = $row['token']; $_SESSION['user_id'] = $row['user_id']; - $_SESSION['name'] = $row['name']; - $name = $row['name']; + $_SESSION['user_name'] = $row['user_name']; + $user_name = $row['user_name']; $user_id = $row['user_id']; if(empty($token)){ @@ -59,11 +59,11 @@ if(isset($_POST['login'])){ if(TokenAuth6238::verify($token,$current_code)){ $_SESSION['logged'] = TRUE; - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login 2FA', log_action = 'Success', log_description = '$ip - $os - $browser - $device', log_created_at = NOW(), user_id = $user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login 2FA', log_action = 'Success', log_description = '$ip - $os - $browser - $device', log_created_at = NOW(), log_user_id = $user_id"); //header("Location: $config_start_page"); header("Location: dashboard.php"); }else{ - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = '2FA Failed', log_description = '$ip - $os - $browser - $device', log_created_at = NOW(), user_id = $user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = '2FA Failed', log_description = '$ip - $os - $browser - $device', log_created_at = NOW(), log_user_id = $user_id"); $response = "
diff --git a/logs.php b/logs.php index e5261689..5e566f67 100644 --- a/logs.php +++ b/logs.php @@ -17,13 +17,6 @@ if(isset($_GET['q'])){ $q = ""; } -if($_GET['log'] == "user"){ - - $extended_query = "= users.user_id"; -}else{ - $extended_query = "IS NULL"; -} - if(!empty($_GET['sb'])){ $sb = mysqli_real_escape_string($mysqli,$_GET['sb']); }else{ @@ -43,10 +36,34 @@ if(isset($_GET['o'])){ $disp = "ASC"; } -//Date From and Date To Filter -if(!empty($_GET['dtf'])){ +//Date Filter +if($_GET['canned_date'] == "custom" AND !empty($_GET['dtf'])){ $dtf = $_GET['dtf']; $dtt = $_GET['dtt']; +}elseif($_GET['canned_date'] == "today"){ + $dtf = date('Y-m-d'); + $dtt = date('Y-m-d'); +}elseif($_GET['canned_date'] == "yesterday"){ + $dtf = date('Y-m-d',strtotime("yesterday")); + $dtt = date('Y-m-d',strtotime("yesterday")); +}elseif($_GET['canned_date'] == "thisweek"){ + $dtf = date('Y-m-d',strtotime("monday this week")); + $dtt = date('Y-m-d'); +}elseif($_GET['canned_date'] == "lastweek"){ + $dtf = date('Y-m-d',strtotime("monday last week")); + $dtt = date('Y-m-d',strtotime("sunday last week")); +}elseif($_GET['canned_date'] == "thismonth"){ + $dtf = date('Y-m-01'); + $dtt = date('Y-m-d'); +}elseif($_GET['canned_date'] == "lastmonth"){ + $dtf = date('Y-m-d',strtotime("first day of last month")); + $dtt = date('Y-m-d',strtotime("last day of last month")); +}elseif($_GET['canned_date'] == "thisyear"){ + $dtf = date('Y-01-01'); + $dtt = date('Y-m-d'); +}elseif($_GET['canned_date'] == "lastyear"){ + $dtf = date('Y-m-d',strtotime("first day of january last year")); + $dtt = date('Y-m-d',strtotime("last day of december last year")); }else{ $dtf = "0000-00-00"; $dtt = "9999-00-00"; @@ -55,10 +72,10 @@ if(!empty($_GET['dtf'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM logs, users - WHERE (log_type LIKE '%$q%' OR log_action LIKE '%$q%' OR log_description LIKE '%$q%') +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM logs + LEFT JOIN users ON log_user_id = user_id + WHERE (log_type LIKE '%$q%' OR log_action LIKE '%$q%' OR log_description LIKE '%$q%' OR user_name LIKE '%$q%') AND DATE(log_created_at) BETWEEN '$dtf' AND '$dtt' - AND (logs.user_id $extended_query) ORDER BY $sb $o LIMIT $record_from, $record_to" ); @@ -82,15 +99,25 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
-
-
- User - System -
-
" id="advancedFilter">
+
+
+ + +
+
@@ -112,7 +139,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
"> - + @@ -127,19 +154,19 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $log_action = $row['log_action']; $log_description = $row['log_description']; $log_created_at = $row['log_created_at']; - $user_id = $row['logs.user_id']; - - if($user_id == 0){ - $name = "-"; + $user_id = $row['user_id']; + $user_name = $row['user_name']; + if(empty($user_name)){ + $user_name_display = "-"; }else{ - $name = $row['name']; + $user_name_display = $user_name; } ?> - + diff --git a/payments.php b/payments.php index e3e03a8b..48878e79 100644 --- a/payments.php +++ b/payments.php @@ -72,11 +72,11 @@ if($_GET['canned_date'] == "custom" AND !empty($_GET['dtf'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM payments, invoices, clients, accounts - WHERE invoices.client_id = clients.client_id - AND payments.invoice_id = invoices.invoice_id - AND payments.account_id = accounts.account_id - AND payments.company_id = $session_company_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM payments + LEFT JOIN invoices ON payment_invoice_id = invoice_id + LEFT JOIN clients ON invoice_client_id = client_id + LEFT JOIN accounts ON payment_account_id = account_id + WHERE payments.company_id = $session_company_id AND DATE(payment_date) BETWEEN '$dtf' AND '$dtt' AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR account_name LIKE '%$q%' OR payment_method LIKE '%$q%' OR payment_reference LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to" diff --git a/post.php b/post.php index 30b9f540..555d07c1 100644 --- a/post.php +++ b/post.php @@ -38,7 +38,7 @@ if(isset($_POST['add_user'])){ $company = intval($_POST['company']); $level = intval($_POST['level']); - mysqli_query($mysqli,"INSERT INTO users SET name = '$name', email = '$email', password = '$password', created_at = NOW()"); + mysqli_query($mysqli,"INSERT INTO users SET user_name = '$name', user_email = '$email', user_password = '$password', user_created_at = NOW()"); $user_id = mysqli_insert_id($mysqli); @@ -53,15 +53,15 @@ if(isset($_POST['add_user'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } //Set Avatar - mysqli_query($mysqli,"UPDATE users SET avatar = '$path' WHERE user_id = $user_id"); + mysqli_query($mysqli,"UPDATE users SET user_avatar = '$path' WHERE user_id = $user_id"); //Create Permissions mysqli_query($mysqli,"INSERT INTO permissions SET permission_level = $level, permission_default_company = $company, permission_companies = $company, user_id = $user_id"); //logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Created', log_description = '$name', log_created_at = NOW()"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Created', log_description = '$user_name', log_created_at = NOW()"); - $_SESSION['alert_message'] = "User $name created!"; + $_SESSION['alert_message'] = "User $user_name created!"; header("Location: users.php"); @@ -87,20 +87,20 @@ if(isset($_POST['edit_user'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - mysqli_query($mysqli,"UPDATE users SET name = '$name', email = '$email', password = '$password', avatar = '$path', updated_at = NOW() WHERE user_id = $user_id"); + mysqli_query($mysqli,"UPDATE users SET user_name = '$name', user_email = '$email', user_password = '$password', user_avatar = '$path', user_updated_at = NOW() WHERE user_id = $user_id"); if(!empty($new_password)){ $new_password = md5($new_password); - mysqli_query($mysqli,"UPDATE users SET password = '$new_password' WHERE user_id = $user_id"); + mysqli_query($mysqli,"UPDATE users SET user_password = '$new_password' WHERE user_id = $user_id"); } //Create Permissions mysqli_query($mysqli,"UPDATE permissions SET permission_level = $level, permission_default_company = $company WHERE user_id = $user_id"); //logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Modified', log_description = '$name', log_created_at = NOW()"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Modified', log_description = '$user_name', log_created_at = NOW()"); - $_SESSION['alert_message'] = "User $name updated"; + $_SESSION['alert_message'] = "User $user_name updated"; header("Location: " . $_SERVER["HTTP_REFERER"]); @@ -124,17 +124,17 @@ if(isset($_POST['edit_profile'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - mysqli_query($mysqli,"UPDATE users SET name = '$name', email = '$email', avatar = '$path', updated_at = NOW() WHERE user_id = $user_id"); + mysqli_query($mysqli,"UPDATE users SET user_name = '$name', user_email = '$email', user_avatar = '$path', user_updated_at = NOW() WHERE user_id = $user_id"); if(!empty($new_password)){ $new_password = md5($new_password); - mysqli_query($mysqli,"UPDATE users SET password = '$new_password' WHERE user_id = $user_id"); + mysqli_query($mysqli,"UPDATE users SET user_password = '$new_password' WHERE user_id = $user_id"); } //logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Modified', log_description = '$name', log_created_at = NOW()"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Modified', log_description = '$user_name', log_created_at = NOW()"); - $_SESSION['alert_message'] = "User $name updated"; + $_SESSION['alert_message'] = "User $user_name updated"; header("Location: " . $_SERVER["HTTP_REFERER"]); @@ -181,7 +181,7 @@ if(isset($_POST['edit_user_clients'])){ if(isset($_GET['archive_user'])){ $user_id = intval($_GET['archive_user']); - mysqli_query($mysqli,"UPDATE users SET archived_at = NOW() WHERE user_id = $user_id"); + mysqli_query($mysqli,"UPDATE users SET user_archived_at = NOW() WHERE user_id = $user_id"); //logging mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Archived', log_description = '$user_id', log_created_at = NOW()"); @@ -197,10 +197,10 @@ if(isset($_GET['delete_user'])){ mysqli_query($mysqli,"DELETE FROM users WHERE user_id = $user_id"); mysqli_query($mysqli,"DELETE FROM permissions WHERE user_id = $user_id"); - mysqli_query($mysqli,"DELETE FROM logs WHERE user_id = $user_id"); + mysqli_query($mysqli,"DELETE FROM logs WHERE log_user_id = $user_id"); mysqli_query($mysqli,"DELETE FROM tickets WHERE ticket_created_by = $user_id"); mysqli_query($mysqli,"DELETE FROM tickets WHERE ticket_closed_by = $user_id"); - mysqli_query($mysqli,"DELETE FROM ticket_update WHERE user_id = $user_id"); + mysqli_query($mysqli,"DELETE FROM ticket_replies WHERE ticket_reply_by = $user_id"); //logging mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Deleted', log_description = '$user_id', log_created_at = NOW()"); @@ -401,7 +401,7 @@ if(isset($_POST['edit_general_settings'])){ } //logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'General', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'General', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Settings updated"; @@ -421,7 +421,7 @@ if(isset($_POST['edit_mail_settings'])){ mysqli_query($mysqli,"UPDATE settings SET config_smtp_host = '$config_smtp_host', config_smtp_port = $config_smtp_port, config_smtp_username = '$config_smtp_username', config_smtp_password = '$config_smtp_password', config_mail_from_email = '$config_mail_from_email', config_mail_from_name = '$config_mail_from_name' WHERE company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Mail', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Mail', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Mail Settings updated"; @@ -484,7 +484,7 @@ if(isset($_POST['edit_invoice_quote_settings'])){ mysqli_query($mysqli,"UPDATE settings SET config_invoice_prefix = '$config_invoice_prefix', config_invoice_next_number = $config_invoice_next_number, config_invoice_footer = '$config_invoice_footer', config_recurring_prefix = '$config_recurring_prefix', config_recurring_next_number = $config_recurring_next_number, config_quote_prefix = '$config_quote_prefix', config_quote_next_number = $config_quote_next_number, config_quote_footer = '$config_quote_footer' WHERE company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Invoice', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Invoice', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice / Quote Settings updated"; @@ -500,7 +500,7 @@ if(isset($_POST['edit_ticket_settings'])){ mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number WHERE company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Ticket', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Ticket', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Ticket Settings updated"; @@ -524,7 +524,7 @@ if(isset($_POST['edit_default_settings'])){ mysqli_query($mysqli,"UPDATE settings SET config_default_country = '$country', config_default_currency = '$currency_code', config_default_expense_account = $expense_account, config_default_payment_account = $payment_account, config_default_payment_method = '$payment_method', config_default_expense_payment_method = '$expense_payment_method', config_default_transfer_from_account = $transfer_from_account, config_default_transfer_to_account = $transfer_to_account, config_default_calendar = $calendar, config_default_net_terms = $net_terms WHERE company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Defaults', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Defaults', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Default Settings updated"; @@ -543,7 +543,7 @@ if(isset($_POST['edit_alert_settings'])){ mysqli_query($mysqli,"UPDATE settings SET config_send_invoice_reminders = $config_send_invoice_reminders, config_invoice_overdue_reminders = '$config_invoice_overdue_reminders', config_enable_cron = $config_enable_cron, config_enable_alert_domain_expire = $config_enable_alert_domain_expire, config_enable_alert_low_balance = $config_enable_alert_low_balance, config_account_balance_threshold = '$config_account_balance_threshold' WHERE company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Alerts', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Alerts', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Alert Settings updated"; @@ -560,7 +560,7 @@ if(isset($_POST['edit_online_payment_settings'])){ mysqli_query($mysqli,"UPDATE settings SET config_stripe_enable = $config_stripe_enable, config_stripe_publishable = '$config_stripe_publishable', config_stripe_secret = '$config_stripe_secret' WHERE company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Online Payment', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modified', log_description = 'Online Payment', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Online Payment Settings Updated"; @@ -571,10 +571,10 @@ if(isset($_POST['enable_2fa'])){ $token = mysqli_real_escape_string($mysqli,$_POST['token']); - mysqli_query($mysqli,"UPDATE users SET token = '$token' WHERE user_id = $session_user_id"); + mysqli_query($mysqli,"UPDATE users SET user_token = '$token' WHERE user_id = $session_user_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User Settings', log_action = 'Modified', log_description = '2FA Enabled', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User Settings', log_action = 'Modified', log_description = '2FA Enabled', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Two Factor Authentication Enabled and Token Updated, don't lose your code you will need this additionally to login"; @@ -584,10 +584,10 @@ if(isset($_POST['enable_2fa'])){ if(isset($_POST['disable_2fa'])){ - mysqli_query($mysqli,"UPDATE users SET token = '' WHERE user_id = $session_user_id"); + mysqli_query($mysqli,"UPDATE users SET user_token = '' WHERE user_id = $session_user_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User Settings', log_action = 'Modified', log_description = '2FA Disabled', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User Settings', log_action = 'Modified', log_description = '2FA Disabled', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Two Factor Authentication Disabled you can now login without TOTP Code"; @@ -669,7 +669,7 @@ if(isset($_GET['download_database'])){ } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Downloaded', log_description = 'Database', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Downloaded', log_description = 'Database', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); } if(isset($_POST['add_client'])){ @@ -677,12 +677,13 @@ if(isset($_POST['add_client'])){ $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); $type = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['type']))); $support = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['support']))); - $country = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['country']))); $address = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['address']))); $city = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['city']))); $state = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['state']))); $zip = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['zip']))); + $country = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['country']))); $contact = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['contact']))); + $title = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['title']))); $phone = preg_replace("/[^0-9]/", '',$_POST['phone']); $extension = preg_replace("/[^0-9]/", '',$_POST['extension']); $mobile = preg_replace("/[^0-9]/", '',$_POST['mobile']); @@ -693,7 +694,7 @@ if(isset($_POST['add_client'])){ $net_terms = intval($_POST['net_terms']); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); - mysqli_query($mysqli,"INSERT INTO clients SET client_name = '$name', client_type = '$type', client_country = '$country', client_address = '$address', client_city = '$city', client_state = '$state', client_zip = '$zip', client_contact = '$contact', client_phone = '$phone', client_extension = '$extension', client_mobile = '$mobile', client_email = '$email', client_website = '$website', client_referral = '$referral', client_currency_code = '$currency_code', client_net_terms = $net_terms, client_support = '$support', client_notes = '$notes', client_created_at = NOW(), company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO clients SET client_name = '$name', client_type = '$type', client_website = '$website', client_referral = '$referral', client_currency_code = '$currency_code', client_net_terms = $net_terms, client_support = '$support', client_notes = '$notes', client_created_at = NOW(), client_accessed_at = NOW(), company_id = $session_company_id"); $client_id = mysqli_insert_id($mysqli); @@ -702,7 +703,33 @@ if(isset($_POST['add_client'])){ } //Log Add Client - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Client', log_action = 'Created', log_description = '$name', log_created_at = NOW(), client_id = $client_id, company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Client', log_action = 'Created', log_description = '$name', log_created_at = NOW(), client_id = $client_id, company_id = $session_company_id, log_user_id = $session_user_id"); + + //Add Location + if(!empty($address) OR !empty($city) OR !empty($state) OR !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_country = '$country', location_created_at = NOW(), location_client_id = $client_id, company_id = $session_company_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"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Location', log_action = 'Create', log_description = 'Pimary Location $address', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + } + + + //Add Contact + if(!empty($contact) OR !empty($title) OR !empty($phone) OR !empty($mobile) OR !empty($email)){ + mysqli_query($mysqli,"INSERT INTO contacts SET contact_name = '$contact', contact_title = '$title', contact_phone = '$phone', contact_extension = '$extension', contact_mobile = '$mobile', contact_email = '$email', contact_photo = '$path', contact_notes = '$notes', contact_created_at = NOW(), contact_client_id = $client_id, company_id = $session_company_id"); + + //Update Primay contact in clients + $contact_id = mysqli_insert_id($mysqli); + mysqli_query($mysqli,"UPDATE clients SET primary_contact = $contact_id WHERE client_id = $client_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Contact', log_action = 'Create', log_description = 'Primary Contact $contact', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + } $_SESSION['alert_message'] = "Client added"; @@ -732,10 +759,10 @@ if(isset($_POST['edit_client'])){ $net_terms = intval($_POST['net_terms']); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); - mysqli_query($mysqli,"UPDATE clients SET client_name = '$name', client_type = '$type', client_country = '$country', client_address = '$address', client_city = '$city', client_state = '$state', client_zip = '$zip', client_contact = '$contact', client_phone = '$phone', client_extension = '$extension', client_mobile = '$mobile', client_email = '$email', client_website = '$website', client_referral = '$referral', client_currency_code = '$currency_code', client_net_terms = $net_terms, client_support = '$support', client_notes = '$notes', client_updated_at = NOW() WHERE client_id = $client_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE clients SET client_name = '$name', client_type = '$type', client_website = '$website', client_referral = '$referral', client_currency_code = '$currency_code', client_net_terms = $net_terms, client_support = '$support', client_notes = '$notes', client_updated_at = NOW() WHERE client_id = $client_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Client', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), client_id = $client_id, company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Client', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), client_id = $client_id, company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Client $name updated"; @@ -748,61 +775,60 @@ if(isset($_GET['delete_client'])){ //Delete Client Data - mysqli_query($mysqli,"DELETE FROM assets WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM certificates WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM contacts WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM documents WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM domains WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM events WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM files WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM locations WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM logins WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM networks WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM records WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM software WHERE client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM vendors WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM assets WHERE asset_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM certificates WHERE certificate_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM contacts WHERE contact_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM documents WHERE document_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM domains WHERE domain_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM events WHERE event_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM files WHERE file_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM locations WHERE location_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM logins WHERE login_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM networks WHERE network_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM software WHERE software_client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM vendors WHERE vendor_client_id = $client_id"); - $sql = mysqli_query($mysqli,"SELECT recurring_id FROM recurring WHERE client_id = $client_id"); + $sql = mysqli_query($mysqli,"SELECT recurring_id FROM recurring WHERE recurring_client_id = $client_id"); while($row = mysqli_fetch_array($sql)){ $recurring_id = $row['recurring_id']; - mysqli_query($mysqli,"DELETE FROM invoice_items WHERE recurring_id = $recurring_id"); + mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_recurring_id = $recurring_id"); } - mysqli_query($mysqli,"DELETE FROM recurring WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM recurring WHERE recurring_client_id = $client_id"); //Delete Quote Items - $sql = mysqli_query($mysqli,"SELECT quote_id FROM quotes WHERE client_id = $client_id"); + $sql = mysqli_query($mysqli,"SELECT quote_id FROM quotes WHERE quote_client_id = $client_id"); while($row = mysqli_fetch_array($sql)){ $quote_id = $row['quote_id']; - mysqli_query($mysqli,"DELETE FROM invoice_items WHERE quote_id = $quote_id"); + mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_quote_id = $quote_id"); } - mysqli_query($mysqli,"DELETE FROM quotes WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM quotes WHERE quote_client_id = $client_id"); //Delete Financial Data this will affect the accounting - mysqli_query($mysqli,"DELETE FROM revenues WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM revenues WHERE revenue_client_id = $client_id"); - $sql = mysqli_query($mysqli,"SELECT invoice_id FROM invoices WHERE client_id = $client_id"); + $sql = mysqli_query($mysqli,"SELECT invoice_id FROM invoices WHERE invoice_client_id = $client_id"); while($row = mysqli_fetch_array($sql)){ $invoice_id = $row['invoice_id']; - mysqli_query($mysqli,"DELETE FROM invoice_items WHERE invoice_id = $invoice_id"); - mysqli_query($mysqli,"DELETE FROM payments WHERE invoice_id = $invoice_id"); + mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_invoice_id = $invoice_id"); + mysqli_query($mysqli,"DELETE FROM payments WHERE payment_invoice_id = $invoice_id"); } - mysqli_query($mysqli,"DELETE FROM invoices WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM invoices WHERE invoice_client_id = $client_id"); - mysqli_query($mysqli,"DELETE FROM trips WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM trips WHERE trip_client_id = $client_id"); //Delete Tickets and log Data - mysqli_query($mysqli,"DELETE FROM logs WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM logs WHERE log_client_id = $client_id"); - $sql = mysqli_query($mysqli,"SELECT ticket_id FROM tickets WHERE client_id = $client_id"); + $sql = mysqli_query($mysqli,"SELECT ticket_id FROM tickets WHERE ticket_client_id = $client_id"); while($row = mysqli_fetch_array($sql)){ $ticket_id = $row['ticket_id']; - mysqli_query($mysqli,"DELETE FROM ticket_updates WHERE ticket_id = $ticket_id"); + mysqli_query($mysqli,"DELETE FROM ticket_replies WHERE reply_ticket_id = $ticket_id"); } - mysqli_query($mysqli,"DELETE FROM tickets WHERE client_id = $client_id"); + mysqli_query($mysqli,"DELETE FROM tickets WHERE ticket_client_id = $client_id"); //Delete Client Files removeDirectory('uploads/clients/$client_id'); @@ -812,7 +838,7 @@ if(isset($_GET['delete_client'])){ mysqli_query($mysqli,"DELETE FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Client', log_action = 'Deleted', log_description = '$client_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Client', log_action = 'Deleted', log_description = '$client_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Client deleted"; @@ -828,7 +854,7 @@ if(isset($_POST['add_calendar'])){ mysqli_query($mysqli,"INSERT INTO calendars SET calendar_name = '$name', calendar_color = '$color', calendar_created_at = NOW(), company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Calendar created, now lets add some events!"; @@ -846,15 +872,15 @@ if(isset($_POST['add_event'])){ $client = intval($_POST['client']); $email_event = intval($_POST['email_event']); - mysqli_query($mysqli,"INSERT INTO events SET event_title = '$title', event_start = '$start', event_end = '$end', event_repeat = '$repeat', event_created_at = NOW(), calendar_id = $calendar_id, client_id = $client, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO events SET event_title = '$title', event_start = '$start', event_end = '$end', event_repeat = '$repeat', event_created_at = NOW(), event_calendar_id = $calendar_id, event_client_id = $client, company_id = $session_company_id"); //If email is checked if($email_event == 1){ - $sql = mysqli_query($mysqli,"SELECT * FROM clients, companies WHERE client_id = $client AND companies.company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM clients JOIN companies ON clients.company_id = companies.company_id JOIN contacts ON primary_contact = contact_id WHERE client_id = $client AND companies.company_id = $session_company_id"); $row = mysqli_fetch_array($sql); - $client_name = $row['client_name']; - $client_email = $row['client_email']; + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; $company_name = $row['company_name']; $company_country = $row['company_country']; $company_address = $row['company_address']; @@ -886,12 +912,12 @@ if(isset($_POST['add_event'])){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = "New Calendar Event"; - $mail->Body = "Hello $client_name,

A calendar event has been scheduled: $title at $start


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

A calendar event has been scheduled: $title at $start


~
$company_name
$company_phone"; $mail->send(); echo 'Message has been sent'; @@ -901,11 +927,11 @@ if(isset($_POST['add_event'])){ } //Logging of email sent - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar Event', log_action = 'Emailed', log_description = 'Emailed $client_name to email $client_email - $title', log_created_at = NOW(), client_id = $client, company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar Event', log_action = 'Emailed', log_description = 'Emailed $client_name to email $client_email - $title', log_created_at = NOW(), log_client_id = $client, company_id = $session_company_id, log_user_id = $session_user_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar Event', log_action = 'Created', log_description = '$title', log_created_at = NOW(), client_id = $client, company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar Event', log_action = 'Created', log_description = '$title', log_created_at = NOW(), log_client_id = $client, company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Event added to the calendar"; @@ -924,15 +950,15 @@ if(isset($_POST['edit_event'])){ $client = intval($_POST['client']); $email_event = intval($_POST['email_event']); - mysqli_query($mysqli,"UPDATE events SET event_title = '$title', event_start = '$start', event_end = '$end', event_repeat = '$repeat', event_updated_at = NOW(), calendar_id = $calendar_id, client_id = $client WHERE event_id = $event_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE events SET event_title = '$title', event_start = '$start', event_end = '$end', event_repeat = '$repeat', event_updated_at = NOW(), event_calendar_id = $calendar_id, event_client_id = $client WHERE event_id = $event_id AND company_id = $session_company_id"); //If email is checked if($email_event == 1){ - $sql = mysqli_query($mysqli,"SELECT * FROM clients, companies WHERE client_id = $client AND companies.company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM clients JOIN companies ON clients.company_id = companies.company_id JOIN contacts ON primary_contact = contact_id WHERE client_id = $client AND companies.company_id = $session_company_id"); $row = mysqli_fetch_array($sql); - $client_name = $row['client_name']; - $client_email = $row['client_email']; + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; $company_name = $row['company_name']; $company_country = $row['company_country']; $company_address = $row['company_address']; @@ -964,12 +990,12 @@ if(isset($_POST['edit_event'])){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = "Calendar Event Rescheduled"; - $mail->Body = "Hello $client_name,

A calendar event has been rescheduled: $title at $start


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

A calendar event has been rescheduled: $title at $start


~
$company_name
$company_phone"; $mail->send(); echo 'Message has been sent'; @@ -979,11 +1005,11 @@ if(isset($_POST['edit_event'])){ } //Logging of email sent - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar Event', log_action = 'Emailed', log_description = 'Emailed $client_name to email $client_email - $title', log_created_at = NOW(), client_id = $client, company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar Event', log_action = 'Emailed', log_description = 'Emailed $client_name to email $client_email - $title', log_created_at = NOW(), log_client_id = $client, company_id = $session_company_id, log_user_id = $session_user_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar', log_action = 'Modified', log_description = '$title', log_created_at = NOW(), client_id = $client, company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar', log_action = 'Modified', log_description = '$title', log_created_at = NOW(), log_client_id = $client, company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Event modified on the calendar"; @@ -997,7 +1023,7 @@ if(isset($_GET['delete_event'])){ mysqli_query($mysqli,"DELETE FROM events WHERE event_id = $event_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar', log_action = 'Deleted', log_description = '$event_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Calendar', log_action = 'Deleted', log_description = '$event_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Event deleted on the calendar"; @@ -1005,128 +1031,6 @@ if(isset($_GET['delete_event'])){ } -if(isset($_POST['add_ticket'])){ - - $client_id = intval($_POST['client']); - $assigned_to = intval($_POST['assigned_to']); - $subject = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['subject']))); - $priority = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['priority']))); - $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); - - //Get the next Ticket Number and add 1 for the new ticket number - $ticket_number = $config_ticket_next_number; - $new_config_ticket_next_number = $config_ticket_next_number + 1; - mysqli_query($mysqli,"UPDATE settings SET config_ticket_next_number = $new_config_ticket_next_number WHERE company_id = $session_company_id"); - - mysqli_query($mysqli,"INSERT INTO tickets SET ticket_prefix = '$config_ticket_prefix', ticket_number = $ticket_number, ticket_subject = '$subject', ticket_details = '$details', ticket_priority = '$priority', ticket_status = 'Open', ticket_created_at = NOW(), ticket_created_by = $session_user_id, ticket_assigned_to = $assigned_to, client_id = $client_id, company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Create', log_description = '$subject', log_created_at = NOW(), client_id = $client_id, company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Ticket created"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['edit_ticket'])){ - - $ticket_id = intval($_POST['ticket_id']); - $assigned_to = intval($_POST['assigned_to']); - $contact_id = intval($_POST['contact']); - $subject = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['subject']))); - $priority = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['priority']))); - $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); - - mysqli_query($mysqli,"UPDATE tickets SET ticket_subject = '$subject', ticket_priority = '$priority', ticket_details = '$details', ticket_updated_at = NOW(), ticket_assigned_to = $assigned_to, contact_id = $contact_id WHERE ticket_id = $ticket_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Modified', log_description = '$subject', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Ticket updated"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['delete_ticket'])){ - $ticket_id = intval($_GET['delete_ticket']); - - mysqli_query($mysqli,"DELETE FROM tickets WHERE ticket_id = $ticket_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Deleted', log_description = '$ticket_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Ticket deleted"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['add_ticket_update'])){ - - $ticket_id = intval($_POST['ticket_id']); - $ticket_update = trim(mysqli_real_escape_string($mysqli,$_POST['ticket_update'])); - - mysqli_query($mysqli,"INSERT INTO ticket_updates SET ticket_update = '$ticket_update', ticket_update_created_at = NOW(), ticket_update_by = $session_user_id, ticket_id = $ticket_id, company_id = $session_company_id") or die(mysqli_error($mysqli)); - - //UPDATE Ticket Last Response Field - mysqli_query($mysqli,"UPDATE tickets SET ticket_updated_at = NOW() WHERE ticket_id = $ticket_id AND company_id = $session_company_id") or die(mysqli_error($mysqli)); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket Update', log_action = 'Created', log_description = '$ticket_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Posted an update"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['edit_ticket_update'])){ - - $ticket_update_id = intval($_POST['ticket_update_id']); - $ticket_update = trim(mysqli_real_escape_string($mysqli,$_POST['ticket_update'])); - - mysqli_query($mysqli,"UPDATE ticket_updates SET ticket_update = '$ticket_update', ticket_update_updated_at = NOW() WHERE ticket_update_id = $ticket_update_id AND company_id = $session_company_id") or die(mysqli_error($mysqli)); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket Update', log_action = 'Modified', log_description = '$ticket_update_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Ticket update modified"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['archive_ticket_update'])){ - $ticket_update_id = intval($_GET['archive_ticket_update']); - - mysqli_query($mysqli,"UPDATE ticket_updates SET ticket_update_archived_at = NOW() WHERE ticket_update_id = $ticket_update_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket Update', log_action = 'Archived', log_description = '$ticket_update_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Ticket update archived"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['close_ticket'])){ - - $ticket_id = intval($_GET['close_ticket']); - - mysqli_query($mysqli,"UPDATE tickets SET ticket_status = 'Closed', ticket_updated_at = NOW(), ticket_closed_at = NOW(), ticket_closed_by = $session_user_id WHERE ticket_id = $ticket_id AND company_id = $session_company_id") or die(mysqli_error($mysqli)); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Modified', log_description = '$ticket_id Closed', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Ticket Closed, this cannot not be reopened but you may start another one"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - if(isset($_POST['add_vendor'])){ $client_id = intval($_POST['client_id']); //Used if this vendor is under a contact otherwise its 0 for under company @@ -1145,12 +1049,12 @@ if(isset($_POST['add_vendor'])){ $website = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['website']))); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); - mysqli_query($mysqli,"INSERT INTO vendors SET vendor_name = '$name', vendor_description = '$description', vendor_country = '$country', vendor_address = '$address', vendor_city = '$city', vendor_state = '$state', vendor_zip = '$zip', vendor_contact_name = '$contact_name', vendor_phone = '$phone', vendor_extension = '$extension', vendor_email = '$email', vendor_website = '$website', vendor_account_number = '$account_number', vendor_notes = '$notes', vendor_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO vendors SET vendor_name = '$name', vendor_description = '$description', vendor_country = '$country', vendor_address = '$address', vendor_city = '$city', vendor_state = '$state', vendor_zip = '$zip', vendor_contact_name = '$contact_name', vendor_phone = '$phone', vendor_extension = '$extension', vendor_email = '$email', vendor_website = '$website', vendor_account_number = '$account_number', vendor_notes = '$notes', vendor_created_at = NOW(), vendor_client_id = $client_id, company_id = $session_company_id"); $vendor_id = mysqli_insert_id($mysqli); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Vendor', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Vendor', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Vendor added"; @@ -1179,7 +1083,7 @@ if(isset($_POST['edit_vendor'])){ mysqli_query($mysqli,"UPDATE vendors SET vendor_name = '$name', vendor_description = '$description', vendor_country = '$country', vendor_address = '$address', vendor_city = '$city', vendor_state = '$state', vendor_zip = '$zip', vendor_contact_name = '$contact_name', vendor_phone = '$phone', vendor_extension = '$extension', vendor_email = '$email', vendor_website = '$website', vendor_account_number = '$account_number', vendor_notes = '$notes', vendor_updated_at = NOW() WHERE vendor_id = $vendor_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Vendor', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Vendor', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Vendor modified"; @@ -1207,7 +1111,7 @@ if(isset($_GET['delete_vendor'])){ mysqli_query($mysqli,"DELETE FROM vendors WHERE vendor_id = $vendor_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Vendor', log_action = 'Deleted', log_description = '$vendor_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Vendor', log_action = 'Deleted', log_description = '$vendor_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Vendor deleted"; @@ -1215,6 +1119,47 @@ if(isset($_GET['delete_vendor'])){ } +if(isset($_GET['export_client_vendors_csv'])){ + $client_id = intval($_GET['export_client_vendors_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + $sql = mysqli_query($mysqli,"SELECT * FROM vendors WHERE vendor_client_id = $client_id ORDER BY vendor_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Vendors-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'Description', 'Contact Name', 'Phone', 'Website', 'Account Number', 'Notes'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['vendor_name'], $row['vendor_description'], $row['vendor_contact_name'], $row['vendor_phone'], $row['vendor_website'], $row['vendor_account_number'], $row['vendor_notes']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + if(isset($_POST['add_product'])){ $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); @@ -1223,10 +1168,10 @@ if(isset($_POST['add_product'])){ $category = intval($_POST['category']); $tax = intval($_POST['tax']); - mysqli_query($mysqli,"INSERT INTO products SET product_name = '$name', product_description = '$description', product_cost = '$cost', product_currency_code = '$config_default_currency', product_created_at = NOW(), tax_id = $tax, category_id = $category, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO products SET product_name = '$name', product_description = '$description', product_cost = '$cost', product_currency_code = '$config_default_currency', product_created_at = NOW(), product_tax_id = $tax, product_category_id = $category, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Product', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Product', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Product added"; @@ -1243,10 +1188,10 @@ if(isset($_POST['edit_product'])){ $category = intval($_POST['category']); $tax = intval($_POST['tax']); - mysqli_query($mysqli,"UPDATE products SET product_name = '$name', product_description = '$description', product_cost = '$cost', product_updated_at = NOW(), tax_id = $tax, category_id = $category WHERE product_id = $product_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE products SET product_name = '$name', product_description = '$description', product_cost = '$cost', product_updated_at = NOW(), product_tax_id = $tax, product_category_id = $category WHERE product_id = $product_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Product', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Product', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Product modified"; @@ -1260,7 +1205,7 @@ if(isset($_GET['delete_product'])){ mysqli_query($mysqli,"DELETE FROM products WHERE product_id = $product_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Product', log_action = 'Deleted', log_description = '$product_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Product', log_action = 'Deleted', log_description = '$product_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Product deleted"; @@ -1278,10 +1223,10 @@ if(isset($_POST['add_trip'])){ $purpose = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['purpose']))); $client_id = intval($_POST['client']); - mysqli_query($mysqli,"INSERT INTO trips SET trip_date = '$date', trip_source = '$source', trip_destination = '$destination', trip_miles = $miles, round_trip = $roundtrip, trip_purpose = '$purpose', trip_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO trips SET trip_date = '$date', trip_source = '$source', trip_destination = '$destination', trip_miles = $miles, round_trip = $roundtrip, trip_purpose = '$purpose', trip_created_at = NOW(), trip_client_id = $client_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Trip', log_action = 'Created', log_description = '$date', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Trip', log_action = 'Created', log_description = '$date', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Trip added"; @@ -1300,10 +1245,10 @@ if(isset($_POST['edit_trip'])){ $purpose = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['purpose']))); $client_id = intval($_POST['client']); - mysqli_query($mysqli,"UPDATE trips SET trip_date = '$date', trip_source = '$source', trip_destination = '$destination', trip_miles = $miles, trip_purpose = '$purpose', round_trip = $roundtrip, trip_updated_at = NOW(), client_id = $client_id WHERE trip_id = $trip_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE trips SET trip_date = '$date', trip_source = '$source', trip_destination = '$destination', trip_miles = $miles, trip_purpose = '$purpose', round_trip = $roundtrip, trip_updated_at = NOW(), trip_client_id = $client_id WHERE trip_id = $trip_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Trip', log_action = 'Modified', log_description = '$date', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Trip', log_action = 'Modified', log_description = '$date', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Trip modified"; @@ -1317,7 +1262,7 @@ if(isset($_GET['delete_trip'])){ mysqli_query($mysqli,"DELETE FROM trips WHERE trip_id = $trip_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Trip', log_action = 'Deleted', log_description = '$trip_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Trip', log_action = 'Deleted', log_description = '$trip_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Trip deleted"; @@ -1335,7 +1280,7 @@ if(isset($_POST['add_account'])){ mysqli_query($mysqli,"INSERT INTO accounts SET account_name = '$name', opening_balance = '$opening_balance', account_currency_code = '$currency_code', account_notes = '$notes', account_created_at = NOW(), company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Account', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Account', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Account added"; @@ -1352,7 +1297,7 @@ if(isset($_POST['edit_account'])){ mysqli_query($mysqli,"UPDATE accounts SET account_name = '$name', account_notes = '$notes', account_updated_at = NOW() WHERE account_id = $account_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Account', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Account', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Account modified"; @@ -1380,7 +1325,7 @@ if(isset($_GET['delete_account'])){ mysqli_query($mysqli,"DELETE FROM accounts WHERE account_id = $account_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Account', log_action = 'Deleted', log_description = '$account_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Account', log_action = 'Deleted', log_description = '$account_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Account deleted"; @@ -1397,7 +1342,7 @@ if(isset($_POST['add_category'])){ mysqli_query($mysqli,"INSERT INTO categories SET category_name = '$name', category_type = '$type', category_color = '$color', category_created_at = NOW(), company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Category', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Category', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Category added"; @@ -1415,7 +1360,7 @@ if(isset($_POST['edit_category'])){ mysqli_query($mysqli,"UPDATE categories SET category_name = '$name', category_type = '$type', category_color = '$color', category_updated_at = NOW() WHERE category_id = $category_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Category', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Category', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Category modified"; @@ -1443,7 +1388,7 @@ if(isset($_GET['delete_category'])){ mysqli_query($mysqli,"DELETE FROM categories WHERE category_id = $category_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Category', log_action = 'Deleted', log_description = '$category_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Category', log_action = 'Deleted', log_description = '$category_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Category deleted"; $_SESSION['alert_type'] = "danger"; @@ -1462,7 +1407,7 @@ if(isset($_POST['add_tax'])){ mysqli_query($mysqli,"INSERT INTO taxes SET tax_name = '$name', tax_percent = $percent, tax_created_at = NOW(), company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Tax', log_action = 'Created', log_description = '$name - $percent', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Tax', log_action = 'Created', log_description = '$name - $percent', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Tax added"; @@ -1479,7 +1424,7 @@ if(isset($_POST['edit_tax'])){ mysqli_query($mysqli,"UPDATE taxes SET tax_name = '$name', tax_percent = $percent, tax_updated_at = NOW() WHERE tax_id = $tax_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Tax', log_action = 'Modified', log_description = '$name - $percent', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Tax', log_action = 'Modified', log_description = '$name - $percent', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Tax modified"; @@ -1507,7 +1452,7 @@ if(isset($_GET['delete_tax'])){ mysqli_query($mysqli,"DELETE FROM taxes WHERE tax_id = $tax_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Tax', log_action = 'Delete', log_description = '$tax_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Tax', log_action = 'Delete', log_description = '$tax_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Tax deleted"; $_SESSION['alert_type'] = "danger"; @@ -1528,7 +1473,7 @@ if(isset($_POST['add_custom_link'])){ mysqli_query($mysqli,"INSERT INTO custom_links SET custom_link_name = '$name', custom_link_icon = '$icon', custom_link_url = '$url', custom_link_created_at = NOW(), company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Custom Link', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Custom Link', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Custom link added"; @@ -1546,7 +1491,7 @@ if(isset($_POST['edit_custom_link'])){ mysqli_query($mysqli,"UPDATE custom_links SET custom_link_name = '$name', custom_link_icon = '$icon', custom_link_url = '$url' WHERE custom_link_id = $custom_link_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Custom Link', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Custom Link', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Custom link modified"; @@ -1560,7 +1505,7 @@ if(isset($_GET['delete_custom_link'])){ mysqli_query($mysqli,"DELETE FROM custom_links WHERE custom_link_id = $custom_link_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Custom Link', log_action = 'Deleted', log_description = '$custom_link_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Custom Link', log_action = 'Deleted', log_description = '$custom_link_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Custom link deleted"; $_SESSION['alert_type'] = "danger"; @@ -1577,7 +1522,7 @@ if(isset($_GET['alert_ack'])){ mysqli_query($mysqli,"UPDATE alerts SET alert_ack_date = CURDATE() WHERE alert_id = $alert_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Alerts', log_action = 'Modify', log_description = '$alert_id Acknowledged', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Alerts', log_action = 'Modify', log_description = '$alert_id Acknowledged', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Alert Acknowledged"; @@ -1600,7 +1545,7 @@ if(isset($_GET['ack_all_alerts'])){ } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Alerts', log_action = 'Modifed', log_description = 'Acknowledged all alerts', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Alerts', log_action = 'Modifed', log_description = 'Acknowledged all alerts', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "$num_alerts Alerts Acknowledged"; @@ -1625,10 +1570,10 @@ if(isset($_POST['add_expense'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - mysqli_query($mysqli,"INSERT INTO expenses SET expense_date = '$date', expense_amount = '$amount', expense_currency_code = '$config_default_currency', account_id = $account, vendor_id = $vendor, category_id = $category, expense_description = '$description', expense_reference = '$reference', expense_receipt = '$path', expense_created_at = NOW(), company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO expenses SET expense_date = '$date', expense_amount = '$amount', expense_currency_code = '$config_default_currency', expense_account_id = $account, expense_vendor_id = $vendor, expense_category_id = $category, expense_description = '$description', expense_reference = '$reference', expense_receipt = '$path', expense_created_at = NOW(), company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Expense', log_action = 'Created', log_description = '$description', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Expense', log_action = 'Created', log_description = '$description', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Expense added"; @@ -1657,12 +1602,12 @@ if(isset($_POST['edit_expense'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - mysqli_query($mysqli,"UPDATE expenses SET expense_date = '$date', expense_amount = '$amount', account_id = $account, vendor_id = $vendor, category_id = $category, expense_description = '$description', expense_reference = '$reference', expense_receipt = '$path', expense_updated_at = NOW() WHERE expense_id = $expense_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE expenses SET expense_date = '$date', expense_amount = '$amount', expense_account_id = $account, expense_vendor_id = $vendor, expense_category_id = $category, expense_description = '$description', expense_reference = '$reference', expense_receipt = '$path', expense_updated_at = NOW() WHERE expense_id = $expense_id AND company_id = $session_company_id"); $_SESSION['alert_message'] = "Expense modified"; //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Expense', log_action = 'Modified', log_description = '$description', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Expense', log_action = 'Modified', log_description = '$description', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); header("Location: " . $_SERVER["HTTP_REFERER"]); @@ -1680,7 +1625,7 @@ if(isset($_GET['delete_expense'])){ mysqli_query($mysqli,"DELETE FROM expenses WHERE expense_id = $expense_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Expense', log_action = 'Deleted', log_description = '$epense_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Expense', log_action = 'Deleted', log_description = '$epense_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Expense deleted"; @@ -1696,16 +1641,16 @@ if(isset($_POST['add_transfer'])){ $account_to = intval($_POST['account_to']); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); - mysqli_query($mysqli,"INSERT INTO expenses SET expense_date = '$date', expense_amount = '$amount', expense_currency_code = '$config_default_currency', vendor_id = 0, category_id = 0, account_id = $account_from, expense_created_at = NOW(), company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO expenses SET expense_date = '$date', expense_amount = '$amount', expense_currency_code = '$config_default_currency', expense_vendor_id = 0, expense_category_id = 0, expense_account_id = $account_from, expense_created_at = NOW(), company_id = $session_company_id"); $expense_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO revenues SET revenue_date = '$date', revenue_amount = '$amount', revenue_currency_code = '$config_default_currency', account_id = $account_to, category_id = 0, revenue_created_at = NOW(), company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO revenues SET revenue_date = '$date', revenue_amount = '$amount', revenue_currency_code = '$config_default_currency', revenue_account_id = $account_to, revenue_category_id = 0, revenue_created_at = NOW(), company_id = $session_company_id"); $revenue_id = mysqli_insert_id($mysqli); mysqli_query($mysqli,"INSERT INTO transfers SET expense_id = $expense_id, revenue_id = $revenue_id, transfer_notes = '$notes', transfer_created_at = NOW(), company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Transfer', log_action = 'Created', log_description = '$date - $amount', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Transfer', log_action = 'Created', log_description = '$date - $amount', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Transfer added"; @@ -1724,14 +1669,14 @@ if(isset($_POST['edit_transfer'])){ $account_to = intval($_POST['account_to']); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); - mysqli_query($mysqli,"UPDATE expenses SET expense_date = '$date', expense_amount = '$amount', account_id = $account_from, expense_updated_at = NOW() WHERE expense_id = $expense_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE expenses SET expense_date = '$date', expense_amount = '$amount', expense_account_id = $account_from, expense_updated_at = NOW() WHERE expense_id = $expense_id AND company_id = $session_company_id"); - mysqli_query($mysqli,"UPDATE revenues SET revenue_date = '$date', revenue_amount = '$amount', account_id = $account_to, revenue_updated_at = NOW() WHERE revenue_id = $revenue_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE revenues SET revenue_date = '$date', revenue_amount = '$amount', revenue_account_id = $account_to, revenue_updated_at = NOW() WHERE revenue_id = $revenue_id AND company_id = $session_company_id"); mysqli_query($mysqli,"UPDATE transfers SET transfer_notes = '$notes', transfer_updated_at = NOW() WHERE transfer_id = $transfer_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Transfer', log_action = 'Modifed', log_description = '$date - $amount', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Transfer', log_action = 'Modifed', log_description = '$date - $amount', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Transfer modified"; @@ -1745,8 +1690,8 @@ if(isset($_GET['delete_transfer'])){ //Query the transfer ID to get the Pyament and Expense IDs so we can delete those as well $sql = mysqli_query($mysqli,"SELECT * FROM transfers WHERE transfer_id = $transfer_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql); - $expense_id = $row['expense_id']; - $revenue_id = $row['revenue_id']; + $expense_id = $row['transfer_expense_id']; + $revenue_id = $row['transfer_revenue_id']; mysqli_query($mysqli,"DELETE FROM expenses WHERE expense_id = $expense_id AND company_id = $session_company_id"); @@ -1755,7 +1700,7 @@ if(isset($_GET['delete_transfer'])){ mysqli_query($mysqli,"DELETE FROM transfers WHERE transfer_id = $transfer_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Transfer', log_action = 'Deleted', log_description = '$transfer_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Transfer', log_action = 'Deleted', log_description = '$transfer_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Transfer deleted"; @@ -1783,13 +1728,13 @@ if(isset($_POST['add_invoice'])){ //Generate a unique URL key for clients to access $url_key = keygen(); - mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $invoice_number, invoice_scope = '$scope', invoice_date = '$date', invoice_due = DATE_ADD('$date', INTERVAL $client_net_terms day), invoice_currency_code = '$currency_code', category_id = $category, invoice_status = 'Draft', invoice_url_key = '$url_key', invoice_created_at = NOW(), client_id = $client, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $invoice_number, invoice_scope = '$scope', invoice_date = '$date', invoice_due = DATE_ADD('$date', INTERVAL $client_net_terms day), invoice_currency_code = '$currency_code', invoice_category_id = $category, invoice_status = 'Draft', invoice_url_key = '$url_key', invoice_created_at = NOW(), invoice_client_id = $client, company_id = $session_company_id"); $invoice_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'INVOICE added!', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'INVOICE added!', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = '$config_invoice_prefix$invoice_number', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = '$config_invoice_prefix$invoice_number', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice added"; @@ -1805,10 +1750,10 @@ if(isset($_POST['edit_invoice'])){ $currency_code = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['currency_code']))); $scope = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['scope']))); - mysqli_query($mysqli,"UPDATE invoices SET invoice_scope = '$scope', invoice_date = '$date', invoice_due = '$due', invoice_currency_code = '$currency_code', invoice_updated_at = NOW(), category_id = $category WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE invoices SET invoice_scope = '$scope', invoice_date = '$date', invoice_due = '$due', invoice_currency_code = '$currency_code', invoice_updated_at = NOW(), invoice_category_id = $category WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Modified', log_description = '$invoice_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Modified', log_description = '$invoice_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice modified"; @@ -1822,7 +1767,7 @@ if(isset($_POST['add_invoice_copy'])){ $date = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['date']))); //Get Net Terms - $sql = mysqli_query($mysqli,"SELECT client_net_terms FROM clients, invoices WHERE clients.client_id = invoices.client_id AND invoices.invoice_id = $invoice_id AND invoices.company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT client_net_terms FROM clients, invoices WHERE client_id = invoice_client_id AND invoice_id = $invoice_id AND invoices.company_id = $session_company_id"); $row = mysqli_fetch_array($sql); $client_net_terms = $row['client_net_terms']; @@ -1836,19 +1781,19 @@ if(isset($_POST['add_invoice_copy'])){ $invoice_amount = $row['invoice_amount']; $invoice_currency_code = $row['invoice_currency_code']; $invoice_note = mysqli_real_escape_string($mysqli,$row['invoice_note']); - $client_id = $row['client_id']; - $category_id = $row['category_id']; + $client_id = $row['invoice_client_id']; + $category_id = $row['invoice_category_id']; //Generate a unique URL key for clients to access $url_key = keygen(); - mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $invoice_number, invoice_scope = '$invoice_scope', invoice_date = '$date', invoice_due = DATE_ADD('$date', INTERVAL $client_net_terms day), category_id = $category_id, invoice_status = 'Draft', invoice_amount = '$invoice_amount', invoice_currency_code = '$invoice_currency_code', invoice_note = '$invoice_note', invoice_url_key = '$url_key', invoice_created_at = NOW(), client_id = $client_id, company_id = $session_company_id") or die(mysql_error()); + mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $invoice_number, invoice_scope = '$invoice_scope', invoice_date = '$date', invoice_due = DATE_ADD('$date', INTERVAL $client_net_terms day), invoice_category_id = $category_id, invoice_status = 'Draft', invoice_amount = '$invoice_amount', invoice_currency_code = '$invoice_currency_code', invoice_note = '$invoice_note', invoice_url_key = '$url_key', invoice_created_at = NOW(), invoice_client_id = $client_id, company_id = $session_company_id") or die(mysql_error()); $new_invoice_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Copied INVOICE!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Copied INVOICE!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $session_company_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE invoice_id = $invoice_id"); + $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id"); while($row = mysqli_fetch_array($sql_items)){ $item_id = $row['item_id']; $item_name = mysqli_real_escape_string($mysqli,$row['item_name']); @@ -1858,13 +1803,13 @@ if(isset($_POST['add_invoice_copy'])){ $item_subtotal = $row['item_subtotal']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), tax_id = $tax_id, invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), item_tax_id = $tax_id, item_invoice_id = $new_invoice_id, company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = 'Copied Invoice', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = 'Copied Invoice', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice copied"; @@ -1884,21 +1829,21 @@ if(isset($_POST['add_invoice_recurring'])){ $invoice_currency_code = $row['invoice_currency_code']; $invoice_scope = mysqli_real_escape_string($mysqli,$row['invoice_scope']); $invoice_note = mysqli_real_escape_string($mysqli,$row['invoice_note']); //SQL Escape in case notes have , them - $client_id = $row['client_id']; - $category_id = $row['category_id']; + $client_id = $row['invoice_client_id']; + $category_id = $row['invoice_category_id']; //Get the last Recurring Number and add 1 for the new Recurring number $recurring_number = $config_recurring_next_number; $new_config_recurring_next_number = $config_recurring_next_number + 1; mysqli_query($mysqli,"UPDATE settings SET config_recurring_next_number = $new_config_recurring_next_number WHERE company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO recurring SET recurring_prefix = '$config_recurring_prefix', recurring_number = $recurring_number, recurring_scope = '$invoice_scope', recurring_frequency = '$recurring_frequency', recurring_next_date = DATE_ADD('$invoice_date', INTERVAL 1 $recurring_frequency), recurring_status = 1, recurring_amount = '$invoice_amount', recurring_currency_code = '$invoice_currency_code', recurring_note = '$invoice_note', recurring_created_at = NOW(), category_id = $category_id, client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO recurring SET recurring_prefix = '$config_recurring_prefix', recurring_number = $recurring_number, recurring_scope = '$invoice_scope', recurring_frequency = '$recurring_frequency', recurring_next_date = DATE_ADD('$invoice_date', INTERVAL 1 $recurring_frequency), recurring_status = 1, recurring_amount = '$invoice_amount', recurring_currency_code = '$invoice_currency_code', recurring_note = '$invoice_note', recurring_created_at = NOW(), recurring_category_id = $category_id, recurring_client_id = $client_id, company_id = $session_company_id"); $recurring_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Recurring Created from INVOICE!', history_created_at = NOW(), recurring_id = $recurring_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Recurring Created from INVOICE!', history_created_at = NOW(), history_recurring_id = $recurring_id, company_id = $session_company_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql_items)){ $item_id = $row['item_id']; $item_name = mysqli_real_escape_string($mysqli,$row['item_name']); @@ -1908,13 +1853,13 @@ if(isset($_POST['add_invoice_recurring'])){ $item_subtotal = $row['item_subtotal']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), tax_id = $tax_id, recurring_id = $recurring_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), item_tax_id = $tax_id, item_recurring_id = $recurring_id, company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = 'From recurring invoice', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = 'From recurring invoice', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Created recurring Invoice from this Invoice"; @@ -1938,14 +1883,14 @@ if(isset($_POST['add_quote'])){ //Generate a unique URL key for clients to access $quote_url_key = keygen(); - mysqli_query($mysqli,"INSERT INTO quotes SET quote_prefix = '$config_quote_prefix', quote_number = $quote_number, quote_scope = '$scope', quote_date = '$date', quote_currency_code = '$currency_code', category_id = $category, quote_status = 'Draft', quote_url_key = '$quote_url_key', quote_created_at = NOW(), client_id = $client, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO quotes SET quote_prefix = '$config_quote_prefix', quote_number = $quote_number, quote_scope = '$scope', quote_date = '$date', quote_currency_code = '$currency_code', quote_category_id = $category, quote_status = 'Draft', quote_url_key = '$quote_url_key', quote_created_at = NOW(), quote_client_id = $client, company_id = $session_company_id"); $quote_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Quote created!', history_created_at = NOW(), quote_id = $quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Quote created!', history_created_at = NOW(), history_quote_id = $quote_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Created', log_description = '$quote_prefix$quote_number', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Created', log_description = '$quote_prefix$quote_number', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Quote added"; @@ -1969,19 +1914,19 @@ if(isset($_POST['add_quote_copy'])){ $quote_currency_code = $row['quote_currency_code']; $quote_scope = mysqli_real_escape_string($mysqli,$row['quote_scope']); $quote_note = mysqli_real_escape_string($mysqli,$row['quote_note']); - $client_id = $row['client_id']; - $category_id = $row['category_id']; + $client_id = $row['quote_client_id']; + $category_id = $row['quote_category_id']; //Generate a unique URL key for clients to access $quote_url_key = keygen(); - mysqli_query($mysqli,"INSERT INTO quotes SET quote_prefix = '$config_quote_prefix', quote_number = $quote_number, quote_scope = '$quote_scope', quote_date = '$date', category_id = $category_id, quote_status = 'Draft', quote_amount = '$quote_amount', quote_currency_code = '$quote_currency_code', quote_note = '$quote_note', quote_url_key = '$quote_url_key', quote_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO quotes SET quote_prefix = '$config_quote_prefix', quote_number = $quote_number, quote_scope = '$quote_scope', quote_date = '$date', quote_category_id = $category_id, quote_status = 'Draft', quote_amount = '$quote_amount', quote_currency_code = '$quote_currency_code', quote_note = '$quote_note', quote_url_key = '$quote_url_key', quote_created_at = NOW(), quote_client_id = $client_id, company_id = $session_company_id"); $new_quote_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Quote copied!', history_created_at = NOW(), quote_id = $new_quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Quote copied!', history_created_at = NOW(), history_quote_id = $new_quote_id, company_id = $session_company_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE quote_id = $quote_id"); + $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_quote_id = $quote_id"); while($row = mysqli_fetch_array($sql_items)){ $item_id = $row['item_id']; $item_name = mysqli_real_escape_string($mysqli,$row['item_name']); @@ -1991,13 +1936,13 @@ if(isset($_POST['add_quote_copy'])){ $item_subtotal = $row['item_subtotal']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), tax_id = $tax_id, quote_id = $new_quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), item_tax_id = $tax_id, item_quote_id = $new_quote_id, company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Created', log_description = 'Copied Quote', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Created', log_description = 'Copied Quote', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Quote copied"; @@ -2022,19 +1967,19 @@ if(isset($_POST['add_quote_to_invoice'])){ $quote_scope = mysqli_real_escape_string($mysqli,$row['quote_scope']); $quote_note = mysqli_real_escape_string($mysqli,$row['quote_note']); - $client_id = $row['client_id']; - $category_id = $row['category_id']; + $client_id = $row['quote_client_id']; + $category_id = $row['quote_category_id']; //Generate a unique URL key for clients to access $url_key = keygen(); - 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), 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_created_at = NOW(), client_id = $client_id, company_id = $session_company_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_amount = '$quote_amount', invoice_currency_code = '$quote_currency_code', invoice_note = '$quote_note', invoice_url_key = '$url_key', invoice_created_at = NOW(), invoice_client_id = $client_id, company_id = $session_company_id"); $new_invoice_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Quote copied to Invoice!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Quote copied to Invoice!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $session_company_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE quote_id = $quote_id"); + $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_quote_id = $quote_id"); while($row = mysqli_fetch_array($sql_items)){ $item_id = $row['item_id']; $item_name = mysqli_real_escape_string($mysqli,$row['item_name']); @@ -2044,15 +1989,15 @@ if(isset($_POST['add_quote_to_invoice'])){ $item_subtotal = $row['item_subtotal']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), tax_id = $tax_id, invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), item_tax_id = $tax_id, item_invoice_id = $new_invoice_id, company_id = $session_company_id"); } mysqli_query($mysqli,"UPDATE quotes SET quote_status = 'Invoiced' WHERE quote_id = $quote_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Created', log_description = 'Quote copied to Invoice', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Created', log_description = 'Quote copied to Invoice', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Quote copied to Invoice"; @@ -2083,7 +2028,7 @@ if(isset($_POST['add_quote_item'])){ $total = $subtotal + $tax_amount; - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$name', item_description = '$description', item_quantity = $qty, item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', item_created_at = NOW(), tax_id = $tax_id, quote_id = $quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$name', item_description = '$description', item_quantity = $qty, item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', item_created_at = NOW(), item_tax_id = $tax_id, item_quote_id = $quote_id, company_id = $session_company_id"); //Update Invoice Balances @@ -2121,10 +2066,10 @@ if(isset($_POST['edit_quote'])){ $currency_code = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['currency_code']))); $scope = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['scope']))); - mysqli_query($mysqli,"UPDATE quotes SET quote_scope = '$scope', quote_date = '$date', quote_currency_code = '$currency_code', category_id = $category, quote_updated_at = NOW() WHERE quote_id = $quote_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE quotes SET quote_scope = '$scope', quote_date = '$date', quote_currency_code = '$currency_code', quote_category_id = $category, quote_updated_at = NOW() WHERE quote_id = $quote_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Modified', log_description = '$quote_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Modified', log_description = '$quote_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Quote modified"; @@ -2138,21 +2083,21 @@ if(isset($_GET['delete_quote'])){ mysqli_query($mysqli,"DELETE FROM quotes WHERE quote_id = $quote_id AND company_id = $session_company_id"); //Delete Items Associated with the Quote - $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE quote_id = $quote_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_quote_id = $quote_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql)){; $item_id = $row['item_id']; mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); } //Delete History Associated with the Quote - $sql = mysqli_query($mysqli,"SELECT * FROM history WHERE quote_id = $quote_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM history WHERE history_quote_id = $quote_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql)){; $history_id = $row['history_id']; mysqli_query($mysqli,"DELETE FROM history WHERE history_id = $history_id AND company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Deleted', log_description = '$quote_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Deleted', log_description = '$quote_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Quotes deleted"; @@ -2165,7 +2110,7 @@ if(isset($_GET['delete_quote_item'])){ $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql); - $quote_id = $row['quote_id']; + $quote_id = $row['item_quote_id']; $item_subtotal = $row['item_subtotal']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; @@ -2180,7 +2125,7 @@ if(isset($_GET['delete_quote_item'])){ mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote Item', log_action = 'Deleted', log_description = '$item_id from $quote_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote Item', log_action = 'Deleted', log_description = '$item_id from $quote_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Item deleted"; @@ -2194,10 +2139,10 @@ if(isset($_GET['mark_quote_sent'])){ mysqli_query($mysqli,"UPDATE quotes SET quote_status = 'Sent', quote_updated_at = NOW() WHERE quote_id = $quote_id AND company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'QUOTE marked sent', history_created_at = NOW(), quote_id = $quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'QUOTE marked sent', history_created_at = NOW(), history_quote_id = $quote_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Updated', log_description = '$quote_id marked sent', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Updated', log_description = '$quote_id marked sent', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = " Quote marked sent"; @@ -2211,10 +2156,10 @@ if(isset($_GET['accept_quote'])){ mysqli_query($mysqli,"UPDATE quotes SET quote_status = 'Accepted', quote_updated_at = NOW() WHERE quote_id = $quote_id AND company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Accepted', history_description = 'Quote accepted!', history_created_at = NOW(), quote_id = $quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Accepted', history_description = 'Quote accepted!', history_created_at = NOW(), history_quote_id = $quote_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Modified', log_description = 'Accepted Quote $quote_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Modified', log_description = 'Accepted Quote $quote_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = " Quote accepted"; @@ -2228,10 +2173,10 @@ if(isset($_GET['decline_quote'])){ mysqli_query($mysqli,"UPDATE quotes SET quote_status = 'Declined', quote_updated_at = NOW() WHERE quote_id = $quote_id AND company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Cancelled', history_description = 'Quote declined!', history_created_at = NOW(), quote_id = $quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Cancelled', history_description = 'Quote declined!', history_created_at = NOW(), history_quote_id = $quote_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Modified', log_description = 'Declined Quote $quote_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Modified', log_description = 'Declined Quote $quote_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Quote declined"; @@ -2242,10 +2187,11 @@ if(isset($_GET['decline_quote'])){ if(isset($_GET['email_quote'])){ $quote_id = intval($_GET['email_quote']); - $sql = mysqli_query($mysqli,"SELECT * FROM quotes, clients, companies - WHERE quotes.client_id = clients.client_id - AND quotes.company_id = companies.company_id - AND quotes.quote_id = $quote_id + $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 companies ON quotes.company_id = companies.company_id + WHERE quote_id = $quote_id AND quotes.company_id = $session_company_id" ); @@ -2260,14 +2206,16 @@ if(isset($_GET['email_quote'])){ $quote_url_key = $row['quote_url_key']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); + } + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } $client_website = $row['client_website']; $base_url = $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']); @@ -2302,7 +2250,7 @@ if(isset($_GET['email_quote'])){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Attachments //$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments @@ -2313,12 +2261,12 @@ if(isset($_GET['email_quote'])){ $mail->isHTML(true); // Set email format to HTML $mail->Subject = "Quote"; - $mail->Body = "Hello $client_name,

Thank you for your inquiry, we are pleased to provide you with the following estimate.


Total Cost: $$quote_amount


View and accept your estimate online here


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

Thank you for your inquiry, we are pleased to provide you with the following estimate.


Total Cost: $$quote_amount


View and accept your estimate online here


~
$company_name
$company_phone"; $mail->send(); echo 'Message has been sent'; - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed Quote!', history_created_at = NOW(), quote_id = $quote_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed Quote!', history_created_at = NOW(), history_quote_id = $quote_id, company_id = $session_company_id"); //Don't change the status to sent if the status is anything but draft if($quote_status == 'Draft'){ @@ -2328,7 +2276,7 @@ if(isset($_GET['email_quote'])){ } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Emailed', log_description = '$quote_id emailed to $client_email', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Quote', log_action = 'Emailed', log_description = '$quote_id emailed to $contact_email', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Quote has been sent"; @@ -2354,14 +2302,14 @@ if(isset($_POST['add_recurring'])){ $new_config_recurring_next_number = $config_recurring_next_number + 1; mysqli_query($mysqli,"UPDATE settings SET config_recurring_next_number = $new_config_recurring_next_number WHERE company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO recurring SET recurring_prefix = '$config_recurring_prefix', recurring_number = $recurring_number, recurring_scope = '$scope', recurring_frequency = '$frequency', recurring_next_date = '$start_date', category_id = $category, recurring_status = 1, recurring_currency_code = '$currency_code', recurring_created_at = NOW(), client_id = $client, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO recurring SET recurring_prefix = '$config_recurring_prefix', recurring_number = $recurring_number, recurring_scope = '$scope', recurring_frequency = '$frequency', recurring_next_date = '$start_date', recurring_category_id = $category, recurring_status = 1, recurring_currency_code = '$currency_code', recurring_created_at = NOW(), recurring_client_id = $client, company_id = $session_company_id"); $recurring_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_description = 'Recurring Invoice created!', history_created_at = NOW(), recurring_id = $recurring_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_description = 'Recurring Invoice created!', history_created_at = NOW(), history_recurring_id = $recurring_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Created', log_description = '$start_date - $category', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Created', log_description = '$start_date - $category', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Recurring Invoice added"; @@ -2378,12 +2326,12 @@ if(isset($_POST['edit_recurring'])){ $scope = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['scope']))); $status = intval($_POST['status']); - mysqli_query($mysqli,"UPDATE recurring SET recurring_scope = '$scope', recurring_frequency = '$frequency', category_id = $category, recurring_status = $status, recurring_currency_code = '$currency_code', recurring_updated_at = NOW() WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE recurring SET recurring_scope = '$scope', recurring_frequency = '$frequency', recurring_category_id = $category, recurring_status = $status, recurring_currency_code = '$currency_code', recurring_updated_at = NOW() WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_description = 'Recurring modified', history_created_at = NOW(), recurring_id = $recurring_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_description = 'Recurring modified', history_created_at = NOW(), history_recurring_id = $recurring_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Modified', log_description = '$recurring_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Modified', log_description = '$recurring_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Recurring Invoice modified"; @@ -2397,21 +2345,21 @@ if(isset($_GET['delete_recurring'])){ mysqli_query($mysqli,"DELETE FROM recurring WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); //Delete Items Associated with the Recurring - $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_recurring_id = $recurring_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql)){; $item_id = $row['item_id']; mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); } //Delete History Associated with the Invoice - $sql = mysqli_query($mysqli,"SELECT * FROM history WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM history WHERE history_recurring_id = $recurring_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql)){; $history_id = $row['history_id']; mysqli_query($mysqli,"DELETE FROM history WHERE history_id = $history_id AND company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Deleted', log_description = '$recurring_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Deleted', log_description = '$recurring_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Recurring Invoice deleted"; @@ -2426,7 +2374,7 @@ if(isset($_GET['recurring_activate'])){ mysqli_query($mysqli,"UPDATE recurring SET recurring_status = 1 WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Modified', log_description = 'Activated', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Modified', log_description = 'Activated', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Recurring Invoice Activated"; @@ -2441,7 +2389,7 @@ if(isset($_GET['recurring_deactivate'])){ mysqli_query($mysqli,"UPDATE recurring SET recurring_status = 0 WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Modified', log_description = 'Deactivated', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring', log_action = 'Modified', log_description = 'Deactivated', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Recurring Invoice Deactivated"; @@ -2471,7 +2419,7 @@ if(isset($_POST['add_recurring_item'])){ $total = $subtotal + $tax_amount; - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$name', item_description = '$description', item_quantity = $qty, item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', item_created_at = NOW(), tax_id = $tax_id, recurring_id = $recurring_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$name', item_description = '$description', item_quantity = $qty, item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', item_created_at = NOW(), item_tax_id = $tax_id, item_recurring_id = $recurring_id, company_id = $session_company_id"); //Update Recurring Balances @@ -2506,7 +2454,7 @@ if(isset($_GET['delete_recurring_item'])){ $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql); - $recurring_id = $row['recurring_id']; + $recurring_id = $row['item_recurring_id']; $item_subtotal = $row['item_subtotal']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; @@ -2521,7 +2469,7 @@ if(isset($_GET['delete_recurring_item'])){ mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring Item', log_action = 'Deleted', log_description = 'Item ID $item_id from Recurring ID $recurring_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Recurring Item', log_action = 'Deleted', log_description = 'Item ID $item_id from Recurring ID $recurring_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Item deleted"; @@ -2535,10 +2483,10 @@ if(isset($_GET['mark_invoice_sent'])){ mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent', invoice_updated_at = NOW() WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'INVOICE marked sent', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'INVOICE marked sent', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Updated', log_description = '$invoice_id marked sent', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Updated', log_description = '$invoice_id marked sent', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice marked sent"; @@ -2552,10 +2500,10 @@ if(isset($_GET['cancel_invoice'])){ mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Cancelled', invoice_updated_at = NOW() WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Cancelled', history_description = 'INVOICE cancelled!', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Cancelled', history_description = 'INVOICE cancelled!', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Modified', log_description = 'Cancelled', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Modified', log_description = 'Cancelled', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice cancelled"; @@ -2569,28 +2517,28 @@ if(isset($_GET['delete_invoice'])){ mysqli_query($mysqli,"DELETE FROM invoices WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); //Delete Items Associated with the Invoice - $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql)){; $item_id = $row['item_id']; mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); } //Delete History Associated with the Invoice - $sql = mysqli_query($mysqli,"SELECT * FROM history WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM history WHERE history_invoice_id = $invoice_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql)){; $history_id = $row['history_id']; mysqli_query($mysqli,"DELETE FROM history WHERE history_id = $history_id AND company_id = $session_company_id"); } //Delete Payments Associated with the Invoice - $sql = mysqli_query($mysqli,"SELECT * FROM payments WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM payments WHERE payment_invoice_id = $invoice_id AND company_id = $session_company_id"); while($row = mysqli_fetch_array($sql)){; $payment_id = $row['payment_id']; mysqli_query($mysqli,"DELETE FROM payments WHERE payment_id = $payment_id AND company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Deleted', log_description = '$invoice_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Deleted', log_description = '$invoice_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice deleted"; @@ -2620,7 +2568,7 @@ if(isset($_POST['add_invoice_item'])){ $total = $subtotal + $tax_amount; - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$name', item_description = '$description', item_quantity = $qty, item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', item_created_at = NOW(), tax_id = $tax_id, invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$name', item_description = '$description', item_quantity = $qty, item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', item_created_at = NOW(), item_tax_id = $tax_id, item_invoice_id = $invoice_id, company_id = $session_company_id"); //Update Invoice Balances @@ -2676,11 +2624,11 @@ if(isset($_POST['edit_item'])){ $total = $subtotal + $tax_amount; - mysqli_query($mysqli,"UPDATE invoice_items SET item_name = '$name', item_description = '$description', item_quantity = '$qty', item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', tax_id = $tax_id WHERE item_id = $item_id"); + mysqli_query($mysqli,"UPDATE invoice_items SET item_name = '$name', item_description = '$description', item_quantity = '$qty', item_price = '$price', item_subtotal = '$subtotal', item_tax = '$tax_amount', item_total = '$total', item_tax_id = $tax_id WHERE item_id = $item_id"); if($invoice_id > 0){ //Update Invoice Balances by tallying up invoice items - $sql_invoice_total = mysqli_query($mysqli,"SELECT SUM(item_total) AS invoice_total FROM invoice_items WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql_invoice_total = mysqli_query($mysqli,"SELECT SUM(item_total) AS invoice_total FROM invoice_items WHERE item_invoice_id = $invoice_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_invoice_total); $new_invoice_amount = $row['invoice_total']; @@ -2688,7 +2636,7 @@ if(isset($_POST['edit_item'])){ }elseif($quote_id > 0){ //Update Quote Balances by tallying up items - $sql_quote_total = mysqli_query($mysqli,"SELECT SUM(item_total) AS quote_total FROM invoice_items WHERE quote_id = $quote_id AND company_id = $session_company_id"); + $sql_quote_total = mysqli_query($mysqli,"SELECT SUM(item_total) AS quote_total FROM invoice_items WHERE item_quote_id = $quote_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_quote_total); $new_quote_amount = $row['quote_total']; @@ -2697,7 +2645,7 @@ if(isset($_POST['edit_item'])){ }else{ //Update Invoice Balances by tallying up invoice items - $sql_recurring_total = mysqli_query($mysqli,"SELECT SUM(item_total) AS recurring_total FROM invoice_items WHERE recurring_id = $recurring_id AND company_id = $session_company_id"); + $sql_recurring_total = mysqli_query($mysqli,"SELECT SUM(item_total) AS recurring_total FROM invoice_items WHERE item_recurring_id = $recurring_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_recurring_total); $new_recurring_amount = $row['recurring_total']; @@ -2731,7 +2679,7 @@ if(isset($_GET['delete_invoice_item'])){ mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice Item', log_action = 'Deleted', log_description = '$item_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice Item', log_action = 'Deleted', log_description = '$item_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Item deleted"; @@ -2757,18 +2705,19 @@ if(isset($_POST['add_payment'])){ $_SESSION['alert_message'] = "Payment is more than the balance"; header("Location: " . $_SERVER["HTTP_REFERER"]); }else{ - mysqli_query($mysqli,"INSERT INTO payments SET payment_date = '$date', payment_amount = '$amount', payment_currency_code = '$currency_code', account_id = $account, payment_method = '$payment_method', payment_reference = '$reference', payment_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO payments SET payment_date = '$date', payment_amount = '$amount', payment_currency_code = '$currency_code', payment_account_id = $account, payment_method = '$payment_method', payment_reference = '$reference', payment_created_at = NOW(), payment_invoice_id = $invoice_id, company_id = $session_company_id"); //Add up all the payments for the invoice and get the total amount paid to the invoice - $sql_total_payments_amount = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payments_amount FROM payments WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql_total_payments_amount = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payments_amount FROM payments WHERE payment_invoice_id = $invoice_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_payments_amount); $total_payments_amount = $row['payments_amount']; //Get the invoice total - $sql = mysqli_query($mysqli,"SELECT * FROM invoices, clients, companies - WHERE invoices.client_id = clients.client_id - AND invoices.invoice_id = $invoice_id - AND invoices.company_id = companies.company_id + $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 companies ON invoices.company_id = companies.company_id + WHERE invoice_id = $invoice_id AND invoices.company_id = $session_company_id" ); @@ -2778,7 +2727,17 @@ if(isset($_POST['add_payment'])){ $invoice_number = $row['invoice_number']; $invoice_url_key = $row['invoice_url_key']; $client_name = $row['client_name']; - $client_email = $row['client_email']; + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); + } + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); + } $company_name = $row['company_name']; $company_country = $row['company_country']; $company_address = $row['company_address']; @@ -2821,17 +2780,17 @@ if(isset($_POST['add_payment'])){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = "Payment Recieved - Invoice $invoice_prefix$invoice_number"; - $mail->Body = "Hello $client_name,

We have recieved your payment in the amount of $$formatted_amount for invoice $invoice_prefix$invoice_number. Please keep this email as a receipt for your records.

Amount: $$formatted_amount
Balance: $$formatted_invoice_balance

Thank you for your business!


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

We have recieved your payment in the amount of $$formatted_amount for invoice $invoice_prefix$invoice_number. Please keep this email as a receipt for your records.

Amount: $$formatted_amount
Balance: $$formatted_invoice_balance

Thank you for your business!


~
$company_name
$company_phone"; $mail->send(); echo 'Message has been sent'; - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed Receipt!', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed Receipt!', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; @@ -2857,17 +2816,17 @@ if(isset($_POST['add_payment'])){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = "Partial Payment Recieved - Invoice $invoice_prefix$invoice_number"; - $mail->Body = "Hello $client_name,

We have recieved partial payment in the amount of $$formatted_amount and it has been applied to invoice $invoice_prefix$invoice_number. Please keep this email as a receipt for your records.

Amount: $$formatted_amount
Balance: $$formatted_invoice_balance

Thank you for your business!


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

We have recieved partial payment in the amount of $$formatted_amount and it has been applied to invoice $invoice_prefix$invoice_number. Please keep this email as a receipt for your records.

Amount: $$formatted_amount
Balance: $$formatted_invoice_balance

Thank you for your business!


~
$company_name
$company_phone"; $mail->send(); echo 'Message has been sent'; - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed Receipt!', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed Receipt!', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; @@ -2880,10 +2839,10 @@ if(isset($_POST['add_payment'])){ mysqli_query($mysqli,"UPDATE invoices SET invoice_status = '$invoice_status', invoice_updated_at = NOW() WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); //Add Payment to History - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = '$invoice_status', history_description = 'Payment added', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = '$invoice_status', history_description = 'Payment added', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Payment', log_action = 'Created', log_description = '$payment_amount', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Payment', log_action = 'Created', log_description = '$payment_amount', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Payment added"; @@ -2896,11 +2855,11 @@ if(isset($_GET['delete_payment'])){ $sql = mysqli_query($mysqli,"SELECT * FROM payments WHERE payment_id = $payment_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql); - $invoice_id = $row['invoice_id']; + $invoice_id = $row['payment_invoice_id']; $deleted_payment_amount = $row['payment_amount']; //Add up all the payments for the invoice and get the total amount paid to the invoice - $sql_total_payments_amount = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments_amount FROM payments WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql_total_payments_amount = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments_amount FROM payments WHERE payment_invoice_id = $invoice_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_payments_amount); $total_payments_amount = $row['total_payments_amount']; @@ -2923,12 +2882,12 @@ if(isset($_GET['delete_payment'])){ mysqli_query($mysqli,"UPDATE invoices SET invoice_status = '$invoice_status', invoice_updated_at = NOW() WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); //Add Payment to History - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = '$invoice_status', history_description = 'Payment deleted', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = '$invoice_status', history_description = 'Payment deleted', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); mysqli_query($mysqli,"DELETE FROM payments WHERE payment_id = $payment_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Payment', log_action = 'Deleted', log_description = '$payment_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Payment', log_action = 'Deleted', log_description = '$payment_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Payment deleted"; @@ -2939,10 +2898,11 @@ if(isset($_GET['delete_payment'])){ if(isset($_GET['email_invoice'])){ $invoice_id = intval($_GET['email_invoice']); - $sql = mysqli_query($mysqli,"SELECT * FROM invoices, clients, companies - WHERE invoices.client_id = clients.client_id - AND invoices.company_id = companies.company_id - AND invoices.invoice_id = $invoice_id" + $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 companies ON invoices.company_id = companies.company_id + WHERE invoice_id = $invoice_id" ); $row = mysqli_fetch_array($sql); @@ -2956,14 +2916,17 @@ if(isset($_GET['email_invoice'])){ $invoice_url_key = $row['invoice_url_key']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $client_name = $row['client_name']; + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); + } + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } $client_website = $row['client_website']; $base_url = $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']); @@ -2981,10 +2944,10 @@ if(isset($_GET['email_invoice'])){ $company_website = $row['company_website']; $company_logo = $row['company_logo']; - $sql_payments = mysqli_query($mysqli,"SELECT * FROM payments, accounts WHERE payments.account_id = accounts.account_id AND payments.invoice_id = $invoice_id AND payments.company_id = $session_company_id ORDER BY payments.payment_id DESC"); + $sql_payments = mysqli_query($mysqli,"SELECT * FROM payments, accounts WHERE payment_account_id = account_id AND payment_invoice_id = $invoice_id AND payments.company_id = $session_company_id ORDER BY payment_id DESC"); //Add up all the payments for the invoice and get the total amount paid to the invoice - $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); + $sql_amount_paid = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS amount_paid FROM payments WHERE payment_invoice_id = $invoice_id AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_amount_paid); $amount_paid = $row['amount_paid']; @@ -3007,7 +2970,7 @@ if(isset($_GET['email_invoice'])){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML @@ -3015,19 +2978,19 @@ if(isset($_GET['email_invoice'])){ if($invoice_status == 'Paid'){ $mail->Subject = "Invoice $invoice_prefix$invoice_number Copy"; - $mail->Body = "Hello $client_name,

Please click on the link below to see your invoice marked paid.

Invoice Link


~
$company_name
Automated Billing Department
$company_phone"; + $mail->Body = "Hello $contact_name,

Please click on the link below to see your invoice marked paid.

Invoice Link


~
$company_name
Automated Billing Department
$company_phone"; }else{ $mail->Subject = "Invoice $invoice_prefix$invoice_number"; - $mail->Body = "Hello $client_name,

Please view the details of the invoice below.

Invoice: $invoice_prefix$invoice_number
Issue Date: $invoice_date
Total: $$invoice_amount
Balance Due: $$balance
Due Date: $invoice_due


To view your invoice online click here


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

Please view the details of the invoice below.

Invoice: $invoice_prefix$invoice_number
Issue Date: $invoice_date
Total: $$invoice_amount
Balance Due: $$balance
Due Date: $invoice_due


To view your invoice online click here


~
$company_name
$company_phone"; //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; } $mail->send(); echo 'Message has been sent'; - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed invoice', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Emailed invoice', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $session_company_id"); //Don't chnage the status to sent if the status is anything but draf if($invoice_status == 'Draft'){ @@ -3037,7 +3000,7 @@ if(isset($_GET['email_invoice'])){ } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Emailed', log_description = 'Invoice $invoice_prefix$invoice_number emailed to $client_email', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Emailed', log_description = 'Invoice $invoice_prefix$invoice_number emailed to $client_email', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Invoice has been sent"; @@ -3060,10 +3023,10 @@ if(isset($_POST['add_revenue'])){ $description = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['description']))); $reference = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['reference']))); - mysqli_query($mysqli,"INSERT INTO revenues SET revenue_date = '$date', revenue_amount = '$amount', revenue_currency_code = '$currency_code', revenue_payment_method = '$payment_method', revenue_reference = '$reference', revenue_description = '$description', revenue_created_at = NOW(), category_id = $category, account_id = $account, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO revenues SET revenue_date = '$date', revenue_amount = '$amount', revenue_currency_code = '$currency_code', revenue_payment_method = '$payment_method', revenue_reference = '$reference', revenue_description = '$description', revenue_created_at = NOW(), revenue_category_id = $category, revenue_account_id = $account, company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Revenue', log_action = 'Created', log_description = '$date - $amount', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Revenue', log_action = 'Created', log_description = '$date - $amount', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Revenue added!"; @@ -3083,10 +3046,10 @@ if(isset($_POST['edit_revenue'])){ $description = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['description']))); $reference = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['reference']))); - mysqli_query($mysqli,"UPDATE revenues SET revenue_date = '$date', revenue_amount = '$amount', revenue_currency_code = '$currency_code', revenue_payment_method = '$payment_method', revenue_reference = '$reference', revenue_description = '$description', revenue_updated_at = NOW(), category_id = $category, account_id = $account WHERE revenue_id = $revenue_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE revenues SET revenue_date = '$date', revenue_amount = '$amount', revenue_currency_code = '$currency_code', revenue_payment_method = '$payment_method', revenue_reference = '$reference', revenue_description = '$description', revenue_updated_at = NOW(), revenue_category_id = $category, revenue_account_id = $account WHERE revenue_id = $revenue_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Revenue', log_action = 'Modified', log_description = '$revenue_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Revenue', log_action = 'Modified', log_description = '$revenue_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Revenue modified!"; @@ -3100,7 +3063,7 @@ if(isset($_GET['delete_revenue'])){ mysqli_query($mysqli,"DELETE FROM revenues WHERE revenue_id = $revenue_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Revenue', log_action = 'Deleted', log_description = '$revenue_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Revenue', log_action = 'Deleted', log_description = '$revenue_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Revenue deleted"; @@ -3117,6 +3080,7 @@ if(isset($_POST['add_contact'])){ $extension = preg_replace("/[^0-9]/", '',$_POST['extension']); $mobile = preg_replace("/[^0-9]/", '',$_POST['mobile']); $email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['email']))); + $primary_contact = intval($_POST['primary_contact']); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); if(!file_exists("uploads/clients/$session_company_id/$client_id")) { @@ -3130,10 +3094,17 @@ if(isset($_POST['add_contact'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - mysqli_query($mysqli,"INSERT INTO contacts SET contact_name = '$name', contact_title = '$title', contact_phone = '$phone', contact_extension = '$extension', contact_mobile = '$mobile', contact_email = '$email', contact_photo = '$path', contact_notes = '$notes', contact_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO contacts SET contact_name = '$name', contact_title = '$title', contact_phone = '$phone', contact_extension = '$extension', contact_mobile = '$mobile', contact_email = '$email', contact_photo = '$path', contact_notes = '$notes', contact_created_at = NOW(), contact_client_id = $client_id, company_id = $session_company_id"); + + + //Update Primay contact in clients if primary contact is checked + if($primary_contact > 0){ + $contact_id = mysqli_insert_id($mysqli); + mysqli_query($mysqli,"UPDATE clients SET primary_contact = $contact_id WHERE client_id = $client_id"); + } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Contact', log_action = 'Create', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Contact', log_action = 'Create', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Contact added"; @@ -3151,6 +3122,7 @@ if(isset($_POST['edit_contact'])){ $extension = preg_replace("/[^0-9]/", '',$_POST['extension']); $mobile = preg_replace("/[^0-9]/", '',$_POST['mobile']); $email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['email']))); + $primary_contact = intval($_POST['primary_contact']); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); $path = strip_tags(mysqli_real_escape_string($mysqli,$_POST['current_avatar_path'])); @@ -3168,8 +3140,13 @@ if(isset($_POST['edit_contact'])){ mysqli_query($mysqli,"UPDATE contacts SET contact_name = '$name', contact_title = '$title', contact_phone = '$phone', contact_extension = '$extension', contact_mobile = '$mobile', contact_email = '$email', contact_photo = '$path', contact_notes = '$notes', contact_updated_at = NOW() WHERE contact_id = $contact_id AND company_id = $session_company_id"); + //Update Primay contact in clients if primary contact is checked + if($primary_contact > 0){ + mysqli_query($mysqli,"UPDATE clients SET primary_contact = $contact_id WHERE client_id = $client_id"); + } + //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Contact', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Contact', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Contact updated"; @@ -3197,7 +3174,7 @@ if(isset($_GET['delete_contact'])){ mysqli_query($mysqli,"DELETE FROM contacts WHERE contact_id = $contact_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Contact', log_action = 'Delete', log_description = '$contact_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Contact', log_action = 'Delete', log_description = '$contact_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Contact deleted"; @@ -3205,6 +3182,48 @@ if(isset($_GET['delete_contact'])){ } +if(isset($_GET['export_client_contacts_csv'])){ + $client_id = intval($_GET['export_client_contacts_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + //Contacts + $sql = mysqli_query($mysqli,"SELECT * FROM contacts WHERE contact_client_id = $client_id ORDER BY contact_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Contacts-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'Title', 'Email', 'Phone', 'Mobile', 'Notes'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['contact_name'], $row['contact_title'], $row['contact_email'], $row['contact_phone'], $row['contact_mobile'], $row['contact_notes']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + if(isset($_POST['add_location'])){ $client_id = intval($_POST['client_id']); @@ -3218,6 +3237,7 @@ if(isset($_POST['add_location'])){ $hours = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['hours']))); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); $contact = intval($_POST['contact']); + $primary_location = intval($_POST['primary_location']); if(!file_exists("uploads/clients/$session_company_id/$client_id")) { mkdir("uploads/clients/$session_company_id/$client_id"); @@ -3230,10 +3250,16 @@ if(isset($_POST['add_location'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - mysqli_query($mysqli,"INSERT INTO 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_photo = '$path', location_notes = '$notes', contact_id = $contact, location_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO 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_photo = '$path', location_notes = '$notes', location_contact_id = $contact, location_created_at = NOW(), location_client_id = $client_id, company_id = $session_company_id"); + + //Update Primay location in clients if primary location is checked + if($primary_location > 0){ + $location_id = mysqli_insert_id($mysqli); + mysqli_query($mysqli,"UPDATE clients SET primary_location = $location_id WHERE client_id = $client_id"); + } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Location', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Location', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Location added"; @@ -3244,6 +3270,7 @@ if(isset($_POST['add_location'])){ if(isset($_POST['edit_location'])){ $location_id = intval($_POST['location_id']); + $client_id = intval($_POST['client_id']); $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); $country = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['country']))); $address = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['address']))); @@ -3254,6 +3281,7 @@ if(isset($_POST['edit_location'])){ $hours = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['hours']))); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); $contact = intval($_POST['contact']); + $primary_location = intval($_POST['primary_location']); $path = strip_tags(mysqli_real_escape_string($mysqli,$_POST['current_file_path'])); @@ -3268,10 +3296,15 @@ if(isset($_POST['edit_location'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - 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_photo = '$path', location_notes = '$notes', contact_id = $contact, location_updated_at = NOW() WHERE location_id = $location_id AND company_id = $session_company_id"); + 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_photo = '$path', location_notes = '$notes', location_contact_id = $contact, location_updated_at = NOW() WHERE location_id = $location_id AND company_id = $session_company_id"); + + //Update Primay location in clients if primary location is checked + if($primary_location > 0){ + mysqli_query($mysqli,"UPDATE clients SET primary_location = $location_id WHERE client_id = $client_id"); + } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Location', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Location', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Location updated"; @@ -3285,7 +3318,7 @@ if(isset($_GET['delete_location'])){ mysqli_query($mysqli,"DELETE FROM locations WHERE location_id = $location_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'location', log_action = 'Deleted', log_description = '$location_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'location', log_action = 'Deleted', log_description = '$location_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Location deleted"; @@ -3293,6 +3326,48 @@ if(isset($_GET['delete_location'])){ } +if(isset($_GET['export_client_locations_csv'])){ + $client_id = intval($_GET['export_client_locations_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + //Locations + $sql = mysqli_query($mysqli,"SELECT * FROM locations WHERE location_client_id = $client_id ORDER BY location_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Locations-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'Address', 'City', 'State', 'Postal Code', 'Phone', 'Notes'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['location_name'], $row['location_address'], $row['location_city'], $row['location_state'], $row['location_zip'], $row['location_phone'], $row['location_notes']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + if(isset($_POST['add_asset'])){ $client_id = intval($_POST['client_id']); @@ -3318,19 +3393,19 @@ if(isset($_POST['add_asset'])){ } $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); - mysqli_query($mysqli,"INSERT INTO assets SET asset_name = '$name', asset_type = '$type', asset_make = '$make', asset_model = '$model', asset_serial = '$serial', asset_os = '$os', asset_ip = '$ip', asset_mac = '$mac', location_id = $location, vendor_id = $vendor, contact_id = $contact, asset_purchase_date = '$purchase_date', asset_warranty_expire = '$warranty_expire', asset_notes = '$notes', asset_created_at = NOW(), network_id = $network, client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO assets SET asset_name = '$name', asset_type = '$type', asset_make = '$make', asset_model = '$model', asset_serial = '$serial', asset_os = '$os', asset_ip = '$ip', asset_mac = '$mac', asset_location_id = $location, asset_vendor_id = $vendor, asset_contact_id = $contact, asset_purchase_date = '$purchase_date', asset_warranty_expire = '$warranty_expire', asset_notes = '$notes', asset_created_at = NOW(), asset_network_id = $network, asset_client_id = $client_id, company_id = $session_company_id"); if(!empty($_POST['username'])) { $asset_id = mysqli_insert_id($mysqli); $username = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['username']))); $password = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']))); - mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_created_at = NOW(), asset_id = $asset_id, client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_created_at = NOW(), login_asset_id = $asset_id, login_client_id = $client_id, company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Asset', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Asset', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Asset added"; @@ -3367,7 +3442,7 @@ if(isset($_POST['edit_asset'])){ $username = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['username']))); $password = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']))); - mysqli_query($mysqli,"UPDATE assets SET asset_name = '$name', asset_type = '$type', asset_make = '$make', asset_model = '$model', asset_serial = '$serial', asset_os = '$os', asset_ip = '$ip', asset_mac = '$mac', location_id = $location, vendor_id = $vendor, contact_id = $contact, asset_purchase_date = '$purchase_date', asset_warranty_expire = '$warranty_expire', asset_notes = '$notes', asset_updated_at = NOW(), network_id = $network WHERE asset_id = $asset_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE assets SET asset_name = '$name', asset_type = '$type', asset_make = '$make', asset_model = '$model', asset_serial = '$serial', asset_os = '$os', asset_ip = '$ip', asset_mac = '$mac', asset_location_id = $location, asset_vendor_id = $vendor, asset_contact_id = $contact, asset_purchase_date = '$purchase_date', asset_warranty_expire = '$warranty_expire', asset_notes = '$notes', asset_updated_at = NOW(), asset_network_id = $network WHERE asset_id = $asset_id AND company_id = $session_company_id"); //If login exists then update the login if($login_id > 0){ @@ -3376,13 +3451,13 @@ if(isset($_POST['edit_asset'])){ //If Username is filled in then add a login if(!empty($username)) { - mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_created_at = NOW(), asset_id = $asset_id, client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_created_at = NOW(), login_asset_id = $asset_id, login_client_id = $client_id, company_id = $session_company_id"); } } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Asset', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Asset', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Asset updated"; @@ -3396,7 +3471,7 @@ if(isset($_GET['delete_asset'])){ mysqli_query($mysqli,"DELETE FROM assets WHERE asset_id = $asset_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Asset', log_action = 'Deleted', log_description = '$asset_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Asset', log_action = 'Deleted', log_description = '$asset_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Asset deleted"; @@ -3404,334 +3479,44 @@ if(isset($_GET['delete_asset'])){ } -if(isset($_POST['add_login'])){ +if(isset($_GET['export_client_assets_csv'])){ + $client_id = intval($_GET['export_client_assets_csv']); - $client_id = intval($_POST['client_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $uri = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['uri']))); - $username = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['username']))); - $password = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']))); - $otp_secret = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['otp_secret']))); - $note = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['note']))); - $vendor_id = intval($_POST['vendor']); - $asset_id = intval($_POST['asset']); - $software_id = intval($_POST['software']); + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); - mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_uri = '$uri', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_otp_secret = '$otp_secret', login_note = '$note', login_created_at = NOW(), vendor_id = $vendor_id, asset_id = $asset_id, software_id = $software_id, client_id = $client_id, company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Login added"; + $client_name = $row['client_name']; - header("Location: client.php?client_id=$client_id&tab=logins"); - -} - -if(isset($_POST['edit_login'])){ - - $login_id = intval($_POST['login_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $uri = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['uri']))); - $username = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['username']))); - $password = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']))); - $otp_secret = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['otp_secret']))); - $note = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['note']))); - $vendor_id = intval($_POST['vendor']); - $asset_id = intval($_POST['asset']); - $software_id = intval($_POST['software']); - - mysqli_query($mysqli,"UPDATE logins SET login_name = '$name', login_uri = '$uri', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_otp_secret = '$otp_secret', login_note = '$note', login_updated_at = NOW(), vendor_id = $vendor_id, asset_id = $asset_id, software_id = $software_id WHERE login_id = $login_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Login updated"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['delete_login'])){ - $login_id = intval($_GET['delete_login']); - - mysqli_query($mysqli,"DELETE FROM logins WHERE login_id = $login_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Deleted', log_description = '$login_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Login deleted"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['add_file'])){ - $client_id = intval($_POST['client_id']); - $new_name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['new_name']))); - - if(!file_exists("uploads/clients/$session_company_id/$client_id")) { - mkdir("uploads/clients/$session_company_id/$client_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM assets WHERE asset_client_id = $client_id ORDER BY asset_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Assets-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'Type', 'Make', 'Model', 'Serial Number', 'MAC Address', 'IP Address', 'Operating System', 'Purchase Date', 'Warranty Expiration Date', 'Notes'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['asset_name'], $row['asset_type'], $row['asset_make'], $row['asset_model'], $row['asset_serial'], $row['asset_mac'], $row['asset_ip'], $row['asset_os'], $row['asset_purchase_date'], $row['asset_warranty_expire'], $row['asset_notes']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); } - - if($_FILES['file']['tmp_name']!='') { - $path = "uploads/clients/$session_company_id/$client_id/"; - $path = $path . basename( $_FILES['file']['name']); - $file_name = basename($path); - move_uploaded_file($_FILES['file']['tmp_name'], $path); - $ext = pathinfo($path); - $ext = $ext['extension']; - - } - - mysqli_query($mysqli,"INSERT INTO files SET file_name = '$path', file_ext = '$ext', file_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'File', log_action = 'Uploaded', log_description = '$path', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "File uploaded"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['delete_file'])){ - $file_id = intval($_GET['delete_file']); - - $sql_file = mysqli_query($mysqli,"SELECT * FROM files WHERE file_id = $file_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql_file); - $file_name = $row['file_name']; - - unlink($file_name); - - mysqli_query($mysqli,"DELETE FROM files WHERE file_id = $file_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'File', log_action = 'Deleted', log_description = '$file_name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "File deleted"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['add_document'])){ - - $client_id = intval($_POST['client_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); - - mysqli_query($mysqli,"INSERT INTO documents SET document_name = '$name', document_details = '$details', document_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Document', log_action = 'Created', log_description = '$details', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Document added"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['edit_document'])){ - - $document_id = intval($_POST['document_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); - - mysqli_query($mysqli,"UPDATE documents SET document_name = '$name', document_details = '$details', document_updated_at = NOW() WHERE document_id = $document_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Note', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Document updated"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['delete_document'])){ - $document_id = intval($_GET['delete_document']); - - mysqli_query($mysqli,"DELETE FROM documents WHERE document_id = $document_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Document', log_action = 'Deleted', log_description = '$document_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Document deleted"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['add_network'])){ - - $client_id = intval($_POST['client_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $vlan = intval($_POST['vlan']); - $network = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['network']))); - $gateway = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['gateway']))); - $dhcp_range = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['dhcp_range']))); - $location_id = intval($_POST['location']); - - mysqli_query($mysqli,"INSERT INTO networks SET network_name = '$name', network_vlan = $vlan, network = '$network', network_gateway = '$gateway', network_dhcp_range = '$dhcp_range', network_created_at = NOW(), location_id = $location_id, client_id = $client_id, company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Network', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Network added"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['edit_network'])){ - - $network_id = intval($_POST['network_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $vlan = intval($_POST['vlan']); - $network = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['network']))); - $gateway = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['gateway']))); - $dhcp_range = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['dhcp_range']))); - $location_id = intval($_POST['location']); - - mysqli_query($mysqli,"UPDATE networks SET network_name = '$name', network_vlan = $vlan, network = '$network', network_gateway = '$gateway', network_dhcp_range = '$dhcp_range', network_updated_at = NOW(), location_id = $location_id WHERE network_id = $network_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Network', log_action = 'Modifed', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Network updated"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['delete_network'])){ - $network_id = intval($_GET['delete_network']); - - mysqli_query($mysqli,"DELETE FROM networks WHERE network_id = $network_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Network', log_action = 'Deleted', log_description = '$network_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Network deleted"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['add_domain'])){ - - $client_id = intval($_POST['client_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $registrar = intval($_POST['registrar']); - $webhost = intval($_POST['webhost']); - $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); - if(empty($expire)){ - $expire = "0000-00-00"; - } - - mysqli_query($mysqli,"INSERT INTO domains SET domain_name = '$name', domain_registrar = $registrar, domain_webhost = $webhost, domain_expire = '$expire', domain_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Domain', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Domain added"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['edit_domain'])){ - - $domain_id = intval($_POST['domain_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $registrar = intval($_POST['registrar']); - $webhost = intval($_POST['webhost']); - $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); - if(empty($expire)){ - $expire = "0000-00-00"; - } - - mysqli_query($mysqli,"UPDATE domains SET domain_name = '$name', domain_registrar = $registrar, domain_webhost = $webhost, domain_expire = '$expire', domain_updated_at = NOW() WHERE domain_id = $domain_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Domain', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Domain updated"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['delete_domain'])){ - $domain_id = intval($_GET['delete_domain']); - - mysqli_query($mysqli,"DELETE FROM domains WHERE domain_id = $domain_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Domain', log_action = 'Deleted', log_description = '$domain_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Domain deleted"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['add_certificate'])){ - - $client_id = intval($_POST['client_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $domain = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['domain']))); - $issued_by = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['issued_by']))); - $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); - if(empty($expire)){ - $expire = "0000-00-00"; - } - - mysqli_query($mysqli,"INSERT INTO certificates SET certificate_name = '$name', certificate_domain = '$domain', certificate_issued_by = '$issued_by', certificate_expire = '$expire', certificate_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Certificate', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Certificate added"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_POST['edit_certificate'])){ - - $certificate_id = intval($_POST['certificate_id']); - $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); - $domain = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['domain']))); - $issued_by = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['issued_by']))); - $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); - if(empty($expire)){ - $expire = "0000-00-00"; - } - - mysqli_query($mysqli,"UPDATE certificates SET certificate_name = '$name', certificate_domain = '$domain', certificate_issued_by = '$issued_by', certificate_expire = '$expire', certificate_updated_at = NOW() WHERE certificate_id = $certificate_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Certificate', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Certificate updated"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); - -} - -if(isset($_GET['delete_certificate'])){ - $certificate_id = intval($_GET['delete_certificate']); - - mysqli_query($mysqli,"DELETE FROM certificates WHERE certificate_id = $certificate_id AND company_id = $session_company_id"); - - //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Certificate', log_action = 'Deleted', log_description = '$certificate_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); - - $_SESSION['alert_message'] = "Certificate deleted"; - - header("Location: " . $_SERVER["HTTP_REFERER"]); + exit; } @@ -3743,19 +3528,19 @@ if(isset($_POST['add_software'])){ $license = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['license']))); $notes = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['notes']))); - mysqli_query($mysqli,"INSERT INTO software SET software_name = '$name', software_type = '$type', software_license = '$license', software_notes = '$notes', software_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO software SET software_name = '$name', software_type = '$type', software_license = '$license', software_notes = '$notes', software_created_at = NOW(), software_client_id = $client_id, company_id = $session_company_id"); if(!empty($_POST['username'])) { $software_id = mysqli_insert_id($mysqli); $username = strip_tags(mysqli_real_escape_string($mysqli,$_POST['username'])); $password = strip_tags(mysqli_real_escape_string($mysqli,$_POST['password'])); - mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), software_id = $software_id, login_created_at = NOW(), client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_software_id = $software_id, login_created_at = NOW(), login_client_id = $client_id, company_id = $session_company_id"); } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Software', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Software', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Software added"; @@ -3778,18 +3563,18 @@ if(isset($_POST['edit_software'])){ //If login exists then update the login if($login_id > 0){ - mysqli_query($mysqli,"UPDATE logins SET login_description = '$name', login_username = '$username', login_password = '$password', login_updated_at = NOW() WHERE login_id = $login_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_updated_at = NOW() WHERE login_id = $login_id AND company_id = $session_company_id"); }else{ //If Username is filled in then add a login if(!empty($username)) { - mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_created_at = NOW(), asset_id = $asset_id, client_id = $client_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_created_at = NOW(), login_software_id = $software_id, login_client_id = $client_id, company_id = $session_company_id"); } } //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Software', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Software', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Software updated"; @@ -3803,7 +3588,7 @@ if(isset($_GET['delete_software'])){ mysqli_query($mysqli,"DELETE FROM software WHERE software_id = $software_id AND company_id = $session_company_id"); //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Software', log_action = 'Deleted', log_description = '$software_id', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Software', log_action = 'Deleted', log_description = '$software_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Software deleted"; @@ -3811,10 +3596,710 @@ if(isset($_GET['delete_software'])){ } +if(isset($_GET['export_client_software_csv'])){ + $client_id = intval($_GET['export_client_software_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + $sql = mysqli_query($mysqli,"SELECT * FROM software WHERE software_client_id = $client_id ORDER BY software_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Software-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'Type', 'License', 'Notes'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['software_name'], $row['software_type'], $row['software_license'], $row['software_notes']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + +if(isset($_POST['add_login'])){ + + $client_id = intval($_POST['client_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $uri = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['uri']))); + $username = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['username']))); + $password = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']))); + $otp_secret = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['otp_secret']))); + $note = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['note']))); + $vendor_id = intval($_POST['vendor']); + $asset_id = intval($_POST['asset']); + $software_id = intval($_POST['software']); + + mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_uri = '$uri', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_otp_secret = '$otp_secret', login_note = '$note', login_created_at = NOW(), login_vendor_id = $vendor_id, login_asset_id = $asset_id, login_software_id = $software_id, login_client_id = $client_id, company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Login added"; + + header("Location: client.php?client_id=$client_id&tab=logins"); + +} + +if(isset($_POST['edit_login'])){ + + $login_id = intval($_POST['login_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $uri = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['uri']))); + $username = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['username']))); + $password = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']))); + $otp_secret = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['otp_secret']))); + $note = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['note']))); + $vendor_id = intval($_POST['vendor']); + $asset_id = intval($_POST['asset']); + $software_id = intval($_POST['software']); + + mysqli_query($mysqli,"UPDATE logins SET login_name = '$name', login_uri = '$uri', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_otp_secret = '$otp_secret', login_note = '$note', login_updated_at = NOW(), login_vendor_id = $vendor_id, login_asset_id = $asset_id, login_software_id = $software_id WHERE login_id = $login_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Login updated"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['delete_login'])){ + $login_id = intval($_GET['delete_login']); + + mysqli_query($mysqli,"DELETE FROM logins WHERE login_id = $login_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Deleted', log_description = '$login_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Login deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['export_client_logins_csv'])){ + $client_id = intval($_GET['export_client_logins_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + $sql = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE login_client_id = $client_id ORDER BY login_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Logins-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'Username', 'Password', 'URL', 'Notes'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['login_name'], $row['login_username'], $row['login_password'], $row['login_uri'], $row['login_note']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + +if(isset($_POST['add_network'])){ + + $client_id = intval($_POST['client_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $vlan = intval($_POST['vlan']); + $network = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['network']))); + $gateway = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['gateway']))); + $dhcp_range = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['dhcp_range']))); + $location_id = intval($_POST['location']); + + mysqli_query($mysqli,"INSERT INTO networks SET network_name = '$name', network_vlan = $vlan, network = '$network', network_gateway = '$gateway', network_dhcp_range = '$dhcp_range', network_created_at = NOW(), network_location_id = $location_id, network_client_id = $client_id, company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Network', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Network added"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['edit_network'])){ + + $network_id = intval($_POST['network_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $vlan = intval($_POST['vlan']); + $network = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['network']))); + $gateway = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['gateway']))); + $dhcp_range = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['dhcp_range']))); + $location_id = intval($_POST['location']); + + mysqli_query($mysqli,"UPDATE networks SET network_name = '$name', network_vlan = $vlan, network = '$network', network_gateway = '$gateway', network_dhcp_range = '$dhcp_range', network_updated_at = NOW(), network_location_id = $location_id WHERE network_id = $network_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Network', log_action = 'Modifed', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Network updated"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['delete_network'])){ + $network_id = intval($_GET['delete_network']); + + mysqli_query($mysqli,"DELETE FROM networks WHERE network_id = $network_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Network', log_action = 'Deleted', log_description = '$network_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Network deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['export_client_networks_csv'])){ + $client_id = intval($_GET['export_client_networks_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + $sql = mysqli_query($mysqli,"SELECT * FROM networks WHERE network_client_id = $client_id ORDER BY network_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Networks-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'vLAN', 'Network', 'Gateway', 'DHCP Range'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['network_name'], $row['network_vlan'], $row['network'], $row['network_gateway'], $row['network_dhcp_range']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + +if(isset($_POST['add_certificate'])){ + + $client_id = intval($_POST['client_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $domain = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['domain']))); + $issued_by = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['issued_by']))); + $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); + if(empty($expire)){ + $expire = "0000-00-00"; + } + + mysqli_query($mysqli,"INSERT INTO certificates SET certificate_name = '$name', certificate_domain = '$domain', certificate_issued_by = '$issued_by', certificate_expire = '$expire', certificate_created_at = NOW(), certificate_client_id = $client_id, company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Certificate', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Certificate added"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['edit_certificate'])){ + + $certificate_id = intval($_POST['certificate_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $domain = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['domain']))); + $issued_by = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['issued_by']))); + $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); + if(empty($expire)){ + $expire = "0000-00-00"; + } + + mysqli_query($mysqli,"UPDATE certificates SET certificate_name = '$name', certificate_domain = '$domain', certificate_issued_by = '$issued_by', certificate_expire = '$expire', certificate_updated_at = NOW() WHERE certificate_id = $certificate_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Certificate', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Certificate updated"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['delete_certificate'])){ + $certificate_id = intval($_GET['delete_certificate']); + + mysqli_query($mysqli,"DELETE FROM certificates WHERE certificate_id = $certificate_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Certificate', log_action = 'Deleted', log_description = '$certificate_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Certificate deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['export_client_certificates_csv'])){ + $client_id = intval($_GET['export_client_certificates_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + $sql = mysqli_query($mysqli,"SELECT * FROM certificates WHERE certificate_client_id = $client_id ORDER BY certificate_name ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Certificates-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Name', 'Domain', 'Issuer', 'Expiration Date'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['certificate_name'], $row['certificate_domain'], $row['certificate_issued_by'], $row['certificate_expire']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + +if(isset($_POST['add_domain'])){ + + $client_id = intval($_POST['client_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $registrar = intval($_POST['registrar']); + $webhost = intval($_POST['webhost']); + $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); + if(empty($expire)){ + $expire = "0000-00-00"; + } + + mysqli_query($mysqli,"INSERT INTO domains SET domain_name = '$name', domain_registrar = $registrar, domain_webhost = $webhost, domain_expire = '$expire', domain_created_at = NOW(), domain_client_id = $client_id, company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Domain', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Domain added"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['edit_domain'])){ + + $domain_id = intval($_POST['domain_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $registrar = intval($_POST['registrar']); + $webhost = intval($_POST['webhost']); + $expire = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['expire']))); + if(empty($expire)){ + $expire = "0000-00-00"; + } + + mysqli_query($mysqli,"UPDATE domains SET domain_name = '$name', domain_registrar = $registrar, domain_webhost = $webhost, domain_expire = '$expire', domain_updated_at = NOW() WHERE domain_id = $domain_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Domain', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Domain updated"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['delete_domain'])){ + $domain_id = intval($_GET['delete_domain']); + + mysqli_query($mysqli,"DELETE FROM domains WHERE domain_id = $domain_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Domain', log_action = 'Deleted', log_description = '$domain_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Domain deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['export_client_domains_csv'])){ + $client_id = intval($_GET['export_client_domains_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + $sql = mysqli_query($mysqli,"SELECT * FROM domains WHERE domain_client_id = $client_id ORDER BY domain_name ASC"); + + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Domains-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Domain', 'Registrar', 'Web Host', 'Expiration Date'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['domain_name'], $row['domain_registrar'], $row['domain_webhost'], $row['domain_expire']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + +if(isset($_POST['add_ticket'])){ + + $client_id = intval($_POST['client']); + $assigned_to = intval($_POST['assigned_to']); + $subject = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['subject']))); + $priority = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['priority']))); + $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); + + //Get the next Ticket Number and add 1 for the new ticket number + $ticket_number = $config_ticket_next_number; + $new_config_ticket_next_number = $config_ticket_next_number + 1; + mysqli_query($mysqli,"UPDATE settings SET config_ticket_next_number = $new_config_ticket_next_number WHERE company_id = $session_company_id"); + + mysqli_query($mysqli,"INSERT INTO tickets SET ticket_prefix = '$config_ticket_prefix', ticket_number = $ticket_number, ticket_subject = '$subject', ticket_details = '$details', ticket_priority = '$priority', ticket_status = 'Open', ticket_created_at = NOW(), ticket_created_by = $session_user_id, ticket_assigned_to = $assigned_to, ticket_client_id = $client_id, company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Create', log_description = '$subject', log_created_at = NOW(), client_id = $client_id, company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Ticket created"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['edit_ticket'])){ + + $ticket_id = intval($_POST['ticket_id']); + $assigned_to = intval($_POST['assigned_to']); + $contact_id = intval($_POST['contact']); + $subject = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['subject']))); + $priority = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['priority']))); + $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); + + mysqli_query($mysqli,"UPDATE tickets SET ticket_subject = '$subject', ticket_priority = '$priority', ticket_details = '$details', ticket_updated_at = NOW(), ticket_assigned_to = $assigned_to, ticket_contact_id = $contact_id WHERE ticket_id = $ticket_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Modified', log_description = '$subject', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Ticket updated"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['delete_ticket'])){ + $ticket_id = intval($_GET['delete_ticket']); + + mysqli_query($mysqli,"DELETE FROM tickets WHERE ticket_id = $ticket_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Deleted', log_description = '$ticket_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Ticket deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['add_ticket_reply'])){ + + $ticket_id = intval($_POST['ticket_id']); + $ticket_reply = trim(mysqli_real_escape_string($mysqli,$_POST['ticket_reply'])); + + mysqli_query($mysqli,"INSERT INTO ticket_replies SET ticket_reply = '$ticket_reply', ticket_reply_created_at = NOW(), ticket_reply_by = $session_user_id, ticket_reply_ticket_id = $ticket_id, company_id = $session_company_id") or die(mysqli_error($mysqli)); + + //UPDATE Ticket Last Response Field + mysqli_query($mysqli,"UPDATE tickets SET ticket_updated_at = NOW() WHERE ticket_id = $ticket_id AND company_id = $session_company_id") or die(mysqli_error($mysqli)); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket Reply', log_action = 'Created', log_description = '$ticket_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Posted an update"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['edit_ticket_reply'])){ + + $ticket_reply_id = intval($_POST['ticket_reply_id']); + $ticket_reply = trim(mysqli_real_escape_string($mysqli,$_POST['ticket_reply'])); + + mysqli_query($mysqli,"UPDATE ticket_replies SET ticket_reply = '$ticket_reply', ticket_reply_updated_at = NOW() WHERE ticket_reply_id = $ticket_reply_id AND company_id = $session_company_id") or die(mysqli_error($mysqli)); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket Update Modify', log_action = 'Modified', log_description = '$ticket_update_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Ticket update modified"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['archive_ticket_reply'])){ + $ticket_reply_id = intval($_GET['archive_ticket_reply']); + + mysqli_query($mysqli,"UPDATE ticket_replies SET ticket_reply_archived_at = NOW() WHERE ticket_reply_id = $ticket_reply_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket Update', log_action = 'Archived', log_description = '$ticket_update_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Ticket update archived"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['close_ticket'])){ + + $ticket_id = intval($_GET['close_ticket']); + + mysqli_query($mysqli,"UPDATE tickets SET ticket_status = 'Closed', ticket_updated_at = NOW(), ticket_closed_at = NOW(), ticket_closed_by = $session_user_id WHERE ticket_id = $ticket_id AND company_id = $session_company_id") or die(mysqli_error($mysqli)); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Closed', log_description = '$ticket_id Closed', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Ticket Closed, this cannot not be reopened but you may start another one"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['export_client_tickets_csv'])){ + $client_id = intval($_GET['export_client_tickets_csv']); + + //get records from database + $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql); + + $client_name = $row['client_name']; + + $sql = mysqli_query($mysqli,"SELECT * FROM tickets WHERE ticket_client_id = $client_id ORDER BY ticket_number ASC"); + if($sql->num_rows > 0){ + $delimiter = ","; + $filename = $client_name . "-Tickets-" . date('Y-m-d') . ".csv"; + + //create a file pointer + $f = fopen('php://memory', 'w'); + + //set column headers + $fields = array('Ticket Number', 'Priority', 'Status', 'Subject', 'Date Opened', 'Date Closed'); + fputcsv($f, $fields, $delimiter); + + //output each row of the data, format line as csv and write to file pointer + while($row = $sql->fetch_assoc()){ + $lineData = array($row['ticket_number'], $row['ticket_priority'], $row['ticket_status'], $row['ticket_subject'], $row['ticket_created_at'], $row['ticket_closed_at']); + fputcsv($f, $lineData, $delimiter); + } + + //move back to beginning of file + fseek($f, 0); + + //set headers to download file rather than displayed + header('Content-Type: text/csv'); + header('Content-Disposition: attachment; filename="' . $filename . '";'); + + //output all remaining data on a file pointer + fpassthru($f); + } + exit; + +} + +if(isset($_POST['add_file'])){ + $client_id = intval($_POST['client_id']); + $new_name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['new_name']))); + + if(!file_exists("uploads/clients/$session_company_id/$client_id")) { + mkdir("uploads/clients/$session_company_id/$client_id"); + } + + if($_FILES['file']['tmp_name']!='') { + $path = "uploads/clients/$session_company_id/$client_id/"; + $path = $path . basename( $_FILES['file']['name']); + $file_name = basename($path); + move_uploaded_file($_FILES['file']['tmp_name'], $path); + $ext = pathinfo($path); + $ext = $ext['extension']; + + } + + mysqli_query($mysqli,"INSERT INTO files SET file_name = '$path', file_ext = '$ext', file_created_at = NOW(), file_client_id = $client_id, company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'File', log_action = 'Uploaded', log_description = '$path', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "File uploaded"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['delete_file'])){ + $file_id = intval($_GET['delete_file']); + + $sql_file = mysqli_query($mysqli,"SELECT * FROM files WHERE file_id = $file_id AND company_id = $session_company_id"); + $row = mysqli_fetch_array($sql_file); + $file_name = $row['file_name']; + + unlink($file_name); + + mysqli_query($mysqli,"DELETE FROM files WHERE file_id = $file_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'File', log_action = 'Deleted', log_description = '$file_name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "File deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['add_document'])){ + + $client_id = intval($_POST['client_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); + + mysqli_query($mysqli,"INSERT INTO documents SET document_name = '$name', document_details = '$details', document_created_at = NOW(), document_client_id = $client_id, company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Document', log_action = 'Created', log_description = '$details', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Document added"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_POST['edit_document'])){ + + $document_id = intval($_POST['document_id']); + $name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']))); + $details = trim(mysqli_real_escape_string($mysqli,$_POST['details'])); + + mysqli_query($mysqli,"UPDATE documents SET document_name = '$name', document_details = '$details', document_updated_at = NOW() WHERE document_id = $document_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Note', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Document updated"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + +if(isset($_GET['delete_document'])){ + $document_id = intval($_GET['delete_document']); + + mysqli_query($mysqli,"DELETE FROM documents WHERE document_id = $document_id AND company_id = $session_company_id"); + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Document', log_action = 'Deleted', log_description = '$document_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "Document deleted"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + if(isset($_GET['force_recurring'])){ $recurring_id = intval($_GET['force_recurring']); - $sql_recurring = mysqli_query($mysqli,"SELECT * FROM recurring, clients WHERE clients.client_id = recurring.client_id AND recurring.recurring_id = $recurring_id AND recurring.company_id = $session_company_id"); + $sql_recurring = mysqli_query($mysqli,"SELECT * FROM recurring, clients WHERE client_id = recurring_client_id AND recurring_id = $recurring_id AND recurring.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_recurring); $recurring_id = $row['recurring_id']; @@ -3826,8 +4311,8 @@ if(isset($_GET['force_recurring'])){ $recurring_amount = $row['recurring_amount']; $recurring_currency_code = $row['recurring_currency_code']; $recurring_note = mysqli_real_escape_string($mysqli,$row['recurring_note']); - $category_id = $row['category_id']; - $client_id = $row['client_id']; + $category_id = $row['recurring_category_id']; + $client_id = $row['recurring_client_id']; $client_net_terms = $row['client_net_terms']; //Get the last Invoice Number and add 1 for the new invoice number @@ -3838,12 +4323,12 @@ if(isset($_GET['force_recurring'])){ //Generate a unique URL key for clients to access $url_key = keygen(); - 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', category_id = $category_id, invoice_status = 'Sent', invoice_url_key = '$url_key', invoice_created_at = NOW(), client_id = $client_id, company_id = $session_company_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_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_created_at = NOW(), invoice_client_id = $client_id, company_id = $session_company_id"); $new_invoice_id = mysqli_insert_id($mysqli); //Copy Items from original invoice to new invoice - $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE recurring_id = $recurring_id AND company_id = $session_company_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_recurring_id = $recurring_id AND company_id = $session_company_id ORDER BY item_id ASC"); while($row = mysqli_fetch_array($sql_invoice_items)){ $item_id = $row['item_id']; @@ -3867,15 +4352,15 @@ if(isset($_GET['force_recurring'])){ $item_total = $item_subtotal + $item_tax_amount; //Update Recurring Items with new tax - mysqli_query($mysqli,"UPDATE invoice_items SET item_tax = '$item_tax_amount', item_total = '$item_total', item_updated_at = NOW(), tax_id = $tax_id WHERE item_id = $item_id"); + mysqli_query($mysqli,"UPDATE invoice_items SET item_tax = '$item_tax_amount', item_total = '$item_total', item_updated_at = NOW(), item_tax_id = $tax_id WHERE item_id = $item_id"); - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax_amount', item_total = '$item_total', item_created_at = NOW(), tax_id = $tax_id, invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = $item_quantity, item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax_amount', item_total = '$item_total', item_created_at = NOW(), item_tax_id = $tax_id, item_invoice_id = $new_invoice_id, company_id = $session_company_id"); } - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Invoice Generated from Recurring!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Invoice Generated from Recurring!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $session_company_id"); //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 recurring_id = $recurring_id"); + $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 = $row['recurring_total']; @@ -3885,10 +4370,11 @@ if(isset($_GET['force_recurring'])){ mysqli_query($mysqli,"UPDATE invoices SET invoice_amount = '$new_recurring_amount' WHERE invoice_id = $new_invoice_id"); if($config_recurring_auto_send_invoice == 1){ - $sql = mysqli_query($mysqli,"SELECT * FROM invoices, clients, companies - WHERE invoices.client_id = clients.client_id - AND invoices.company_id = companies.company_id - AND invoices.invoice_id = $new_invoice_id" + 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 companies ON invoices.company_id = companies.company_id + WHERE invoice_id = $new_invoice_id" ); $row = mysqli_fetch_array($sql); @@ -3901,14 +4387,16 @@ if(isset($_GET['force_recurring'])){ $invoice_url_key = $row['invoice_url_key']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); + } + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } $company_id = $row['company_id']; $company_name = $row['company_name']; @@ -3937,29 +4425,29 @@ if(isset($_GET['force_recurring'])){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = "Invoice $invoice_prefix$invoice_number"; - $mail->Body = "Hello $client_name,

Please view the details of the invoice below.

Invoice: $invoice_prefix$invoice_number
Issue Date: $invoice_date
Total: $$invoice_amount
Due Date: $invoice_due


To view your invoice online click here


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

Please view the details of the invoice below.

Invoice: $invoice_prefix$invoice_number
Issue Date: $invoice_date
Total: $$invoice_amount
Due Date: $invoice_due


To view your invoice online click here


~
$company_name
$company_phone"; $mail->send(); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Auto Emailed Invoice!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Auto Emailed Invoice!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $session_company_id"); //Update Invoice Status to Sent - mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent', invoice_updated_at = NOW(), client_id = $client_id WHERE invoice_id = $new_invoice_id AND company_id = $session_company_id"); + mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent', invoice_updated_at = NOW(), invoice_client_id = $client_id WHERE invoice_id = $new_invoice_id AND company_id = $session_company_id"); }catch(Exception $e){ echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Failed to send Invoice!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $session_company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Failed to send Invoice!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $session_company_id"); } //End Mail Try } //End Recurring Invoices Loop //Logging - mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = 'Recurring Forced to an Invoice', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id"); + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Created', log_description = 'Recurring Forced to an Invoice', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id"); $_SESSION['alert_message'] = "Recurring Invoice Forced"; @@ -4002,419 +4490,6 @@ if(isset($_GET['export_trips_csv'])){ } -if(isset($_GET['export_client_contacts_csv'])){ - $client_id = intval($_GET['export_client_contacts_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - //Contacts - $sql = mysqli_query($mysqli,"SELECT * FROM contacts WHERE client_id = $client_id ORDER BY contact_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Contacts-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'Title', 'Email', 'Phone', 'Mobile', 'Notes'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['contact_name'], $row['contact_title'], $row['contact_email'], $row['contact_phone'], $row['contact_mobile'], $row['contact_notes']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_locations_csv'])){ - $client_id = intval($_GET['export_client_locations_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - //Locations - $sql = mysqli_query($mysqli,"SELECT * FROM locations WHERE client_id = $client_id ORDER BY location_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Locations-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'Address', 'City', 'State', 'Postal Code', 'Phone', 'Notes'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['location_name'], $row['location_address'], $row['location_city'], $row['location_state'], $row['location_zip'], $row['location_phone'], $row['location_notes']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_assets_csv'])){ - $client_id = intval($_GET['export_client_assets_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT * FROM assets WHERE client_id = $client_id ORDER BY asset_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Assets-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'Type', 'Make', 'Model', 'Serial Number', 'MAC Address', 'IP Address', 'Operating System', 'Purchase Date', 'Warranty Expiration Date', 'Notes'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['asset_name'], $row['asset_type'], $row['asset_make'], $row['asset_model'], $row['asset_serial'], $row['asset_mac'], $row['asset_ip'], $row['asset_os'], $row['asset_purchase_date'], $row['asset_warranty_expire'], $row['asset_notes']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_software_csv'])){ - $client_id = intval($_GET['export_client_software_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT * FROM software WHERE client_id = $client_id ORDER BY software_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Software-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'Type', 'License', 'Notes'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['software_name'], $row['software_type'], $row['software_license'], $row['software_notes']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_logins_csv'])){ - $client_id = intval($_GET['export_client_logins_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE client_id = $client_id ORDER BY login_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Logins-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'Username', 'Password', 'URL', 'Notes'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['login_name'], $row['login_username'], $row['login_password'], $row['login_uri'], $row['login_note']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_networks_csv'])){ - $client_id = intval($_GET['export_client_networks_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT * FROM networks WHERE client_id = $client_id ORDER BY network_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Networks-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'vLAN', 'Network', 'Gateway', 'DHCP Range'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['network_name'], $row['network_vlan'], $row['network'], $row['network_gateway'], $row['network_dhcp_range']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_certificates_csv'])){ - $client_id = intval($_GET['export_client_certificates_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT * FROM certificates WHERE client_id = $client_id ORDER BY certificate_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Certificates-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'Domain', 'Issuer', 'Expiration Date'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['certificate_name'], $row['certificate_domain'], $row['certificate_issued_by'], $row['certificate_expire']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_domains_csv'])){ - $client_id = intval($_GET['export_client_domains_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT * FROM domains WHERE client_id = $client_id ORDER BY domain_name ASC"); - - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Domains-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Domain', 'Registrar', 'Web Host', 'Expiration Date'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['domain_name'], $row['domain_registrar'], $row['domain_webhost'], $row['domain_expire']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_tickets_csv'])){ - $client_id = intval($_GET['export_client_tickets_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT * FROM tickets WHERE client_id = $client_id ORDER BY ticket_number ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Tickets-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Ticket Number', 'Priority', 'Status', 'Subject', 'Date Opened', 'Date Closed'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['ticket_number'], $row['ticket_priority'], $row['ticket_status'], $row['ticket_subject'], $row['ticket_created_at'], $row['ticket_closed_at']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - -if(isset($_GET['export_client_vendors_csv'])){ - $client_id = intval($_GET['export_client_vendors_csv']); - - //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); - $row = mysqli_fetch_array($sql); - - $client_name = $row['client_name']; - - $sql = mysqli_query($mysqli,"SELECT * FROM vendors WHERE client_id = $client_id ORDER BY vendor_name ASC"); - if($sql->num_rows > 0){ - $delimiter = ","; - $filename = $client_name . "-Vendors-" . date('Y-m-d') . ".csv"; - - //create a file pointer - $f = fopen('php://memory', 'w'); - - //set column headers - $fields = array('Name', 'Description', 'Contact Name', 'Phone', 'Website', 'Account Number', 'Notes'); - fputcsv($f, $fields, $delimiter); - - //output each row of the data, format line as csv and write to file pointer - while($row = $sql->fetch_assoc()){ - $lineData = array($row['vendor_name'], $row['vendor_description'], $row['vendor_contact_name'], $row['vendor_phone'], $row['vendor_website'], $row['vendor_account_number'], $row['vendor_notes']); - fputcsv($f, $lineData, $delimiter); - } - - //move back to beginning of file - fseek($f, 0); - - //set headers to download file rather than displayed - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename="' . $filename . '";'); - - //output all remaining data on a file pointer - fpassthru($f); - } - exit; - -} - if(isset($_GET['export_client_invoices_csv'])){ $client_id = intval($_GET['export_client_invoices_csv']); @@ -4424,7 +4499,7 @@ if(isset($_GET['export_client_invoices_csv'])){ $client_name = $row['client_name']; - $sql = mysqli_query($mysqli,"SELECT * FROM invoices WHERE client_id = $client_id ORDER BY invoice_number ASC"); + $sql = mysqli_query($mysqli,"SELECT * FROM invoices WHERE invoice_client_id = $client_id ORDER BY invoice_number ASC"); if($sql->num_rows > 0){ $delimiter = ","; $filename = $client_name . "-Invoices-" . date('Y-m-d') . ".csv"; @@ -4465,7 +4540,7 @@ if(isset($_GET['export_client_recurring_csv'])){ $client_name = $row['client_name']; - $sql = mysqli_query($mysqli,"SELECT * FROM recurring WHERE client_id = $client_id ORDER BY recurring_number ASC"); + $sql = mysqli_query($mysqli,"SELECT * FROM recurring WHERE recurring_client_id = $client_id ORDER BY recurring_number ASC"); if($sql->num_rows > 0){ $delimiter = ","; $filename = $client_name . "-Recurring Invoices-" . date('Y-m-d') . ".csv"; @@ -4506,7 +4581,7 @@ if(isset($_GET['export_client_quotes_csv'])){ $client_name = $row['client_name']; - $sql = mysqli_query($mysqli,"SELECT * FROM quotes WHERE client_id = $client_id ORDER BY quote_number ASC"); + $sql = mysqli_query($mysqli,"SELECT * FROM quotes WHERE quote_client_id = $client_id ORDER BY quote_number ASC"); if($sql->num_rows > 0){ $delimiter = ","; $filename = $client_name . "-Quotes-" . date('Y-m-d') . ".csv"; @@ -4547,7 +4622,7 @@ if(isset($_GET['export_client_payments_csv'])){ $client_name = $row['client_name']; - $sql = mysqli_query($mysqli,"SELECT * FROM payments, invoices WHERE invoices.client_id = $client_id AND payments.invoice_id = invoices.invoice_id ORDER BY payment_date ASC"); + $sql = mysqli_query($mysqli,"SELECT * FROM payments, invoices WHERE invoice_client_id = $client_id AND payment_invoice_id = invoice_id ORDER BY payment_date ASC"); if($sql->num_rows > 0){ $delimiter = ","; $filename = $client_name . "-Payments-" . date('Y-m-d') . ".csv"; @@ -4588,7 +4663,7 @@ if(isset($_GET['export_client_trips_csv'])){ $client_name = $row['client_name']; - $sql = mysqli_query($mysqli,"SELECT * FROM trips WHERE client_id = $client_id ORDER BY trip_date ASC"); + $sql = mysqli_query($mysqli,"SELECT * FROM trips WHERE trip_client_id = $client_id ORDER BY trip_date ASC"); if($sql->num_rows > 0){ $delimiter = ","; $filename = $client_name . "-Trips-" . date('Y-m-d') . ".csv"; @@ -4624,27 +4699,28 @@ if(isset($_GET['export_client_pdf'])){ $client_id = intval($_GET['export_client_pdf']); //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM clients WHERE client_id = $client_id AND company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM clients LEFT JOIN contacts ON primary_contact = contact_id LEFT JOIN locations ON primary_location = location_id WHERE client_id = $client_id AND clients.company_id = $session_company_id"); $row = mysqli_fetch_array($sql); $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_phone = $row['client_phone']; - $client_email = $row['client_email']; + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + $contact_name = $row['contact_name']; + $contact_phone = $row['contact_phone']; + $contact_email = $row['contact_email']; $client_website = $row['client_website']; - $sql_contacts = mysqli_query($mysqli,"SELECT * FROM contacts WHERE client_id = $client_id ORDER BY contact_name ASC"); - $sql_locations = mysqli_query($mysqli,"SELECT * FROM locations WHERE client_id = $client_id ORDER BY location_name ASC"); - $sql_vendors = mysqli_query($mysqli,"SELECT * FROM vendors WHERE client_id = $client_id ORDER BY vendor_name ASC"); - $sql_logins = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE client_id = $client_id ORDER BY login_name ASC"); - $sql_assets = mysqli_query($mysqli,"SELECT * FROM assets WHERE client_id = $client_id ORDER BY asset_type ASC"); - $sql_networks = mysqli_query($mysqli,"SELECT * FROM networks WHERE client_id = $client_id ORDER BY network_name ASC"); - $sql_domains = mysqli_query($mysqli,"SELECT * FROM domains WHERE client_id = $client_id ORDER BY domain_name ASC"); - $sql_certficates = mysqli_query($mysqli,"SELECT * FROM certificates WHERE client_id = $client_id ORDER BY certificate_name ASC"); - $sql_software = mysqli_query($mysqli,"SELECT * FROM software WHERE client_id = $client_id ORDER BY software_name ASC"); + $sql_contacts = mysqli_query($mysqli,"SELECT * FROM contacts WHERE contact_client_id = $client_id ORDER BY contact_name ASC"); + $sql_locations = mysqli_query($mysqli,"SELECT * FROM locations WHERE location_client_id = $client_id ORDER BY location_name ASC"); + $sql_vendors = mysqli_query($mysqli,"SELECT * FROM vendors WHERE vendor_client_id = $client_id ORDER BY vendor_name ASC"); + $sql_logins = mysqli_query($mysqli,"SELECT *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins WHERE login_client_id = $client_id ORDER BY login_name ASC"); + $sql_assets = mysqli_query($mysqli,"SELECT * FROM assets WHERE asset_client_id = $client_id ORDER BY asset_type ASC"); + $sql_networks = mysqli_query($mysqli,"SELECT * FROM networks WHERE network_client_id = $client_id ORDER BY network_name ASC"); + $sql_domains = mysqli_query($mysqli,"SELECT * FROM domains WHERE domain_client_id = $client_id ORDER BY domain_name ASC"); + $sql_certficates = mysqli_query($mysqli,"SELECT * FROM certificates WHERE certificate_client_id = $client_id ORDER BY certificate_name ASC"); + $sql_software = mysqli_query($mysqli,"SELECT * FROM software WHERE software_client_id = $client_id ORDER BY software_name ASC"); ?> @@ -4685,7 +4761,7 @@ if(isset($_GET['export_client_pdf'])){ style: 'itemHeader' }, { - text: , + text: , style: 'item' } ], @@ -4695,7 +4771,7 @@ if(isset($_GET['export_client_pdf'])){ style: 'itemHeader' }, { - text: , + text: , style: 'item' } ], @@ -4705,7 +4781,7 @@ if(isset($_GET['export_client_pdf'])){ style: 'itemHeader' }, { - text: , + text: , style: 'item' } ], @@ -4725,7 +4801,7 @@ if(isset($_GET['export_client_pdf'])){ style: 'itemHeader' }, { - text: , + text: , style: 'item' } ] @@ -4768,7 +4844,6 @@ if(isset($_GET['export_client_pdf'])){ ], $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM products, categories - WHERE products.category_id = categories.category_id - AND products.company_id = $session_company_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM products LEFT JOIN categories ON product_category_id = category_id + WHERE products.company_id = $session_company_id AND (product_name LIKE '%$q%' OR product_description LIKE '%$q%' OR category_name LIKE '%$q%' OR product_cost LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); @@ -98,7 +97,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $product_created_at = $row['product_created_at']; $category_id = $row['category_id']; $category_name = $row['category_name']; - $tax_id = $row['tax_id']; + $product_tax_id = $row['product_tax_id']; ?> diff --git a/quote.php b/quote.php index 4e553bd1..80b138d3 100644 --- a/quote.php +++ b/quote.php @@ -6,10 +6,12 @@ if(isset($_GET['quote_id'])){ $quote_id = intval($_GET['quote_id']); - $sql = mysqli_query($mysqli,"SELECT * FROM quotes, clients, companies - WHERE quotes.client_id = clients.client_id - AND quotes.company_id = companies.company_id - AND quotes.quote_id = $quote_id" + $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 companies ON quotes.company_id = companies.company_id + WHERE quote_id = $quote_id" ); $row = mysqli_fetch_array($sql); @@ -24,22 +26,22 @@ if(isset($_GET['quote_id'])){ $quote_note = $row['quote_note']; $quote_url_key = $row['quote_url_key']; $quote_created_at = $row['quote_created_at']; - $category_id = $row['category_id']; + $category_id = $row['quote_category_id']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); } - $client_extension = $row['client_extension']; - $client_mobile = $row['client_mobile']; - if(strlen($client_mobile)>2){ - $client_mobile = substr($row['client_mobile'],0,3)."-".substr($row['client_mobile'],3,3)."-".substr($row['client_mobile'],6,4); + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } $client_website = $row['client_website']; $client_currency_code = $row['client_currency_code']; @@ -65,7 +67,7 @@ if(isset($_GET['quote_id'])){ $company_logo_base64 = base64_encode(file_get_contents($row['company_logo'])); } - $sql_history = mysqli_query($mysqli,"SELECT * FROM history WHERE quote_id = $quote_id ORDER BY history_id DESC"); + $sql_history = mysqli_query($mysqli,"SELECT * FROM history WHERE history_quote_id = $quote_id ORDER BY history_id DESC"); //Set Badge color based off of quote status if($quote_status == "Sent"){ @@ -107,7 +109,7 @@ if(isset($_GET['quote_id'])){ Send @@ -193,7 +195,7 @@ if(isset($_GET['quote_id'])){ - +
@@ -227,7 +229,7 @@ if(isset($_GET['quote_id'])){ $item_tax = $row['item_tax']; $item_total = $row['item_total']; $item_created_at = $row['item_created_at']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; $total_tax = $item_tax + $total_tax; $sub_total = $item_price * $item_quantity + $sub_total; @@ -465,7 +467,7 @@ var docDefinition = { style: 'invoiceBillingAddress' }, { - text: , + text: , style: 'invoiceBillingAddressClient' }, ] @@ -542,7 +544,7 @@ var docDefinition = { $total_tax = 0; $sub_total = 0; - $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE quote_id = $quote_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_quote_id = $quote_id ORDER BY item_id ASC"); while($row = mysqli_fetch_array($sql_invoice_items)){ $item_name = $row['item_name']; @@ -552,7 +554,7 @@ var docDefinition = { $item_subtotal = $row['item_price']; $item_tax = $row['item_tax']; $item_total = $row['item_total']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; $total_tax = $item_tax + $total_tax; $sub_total = $item_price * $item_quantity + $sub_total; ?> diff --git a/quotes.php b/quotes.php index db4069d8..416f3294 100644 --- a/quotes.php +++ b/quotes.php @@ -74,10 +74,10 @@ if($_GET['canned_date'] == "custom" AND !empty($_GET['dtf'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM quotes, clients, categories - WHERE quotes.client_id = clients.client_id - AND quotes.category_id = categories.category_id - AND quotes.company_id = $session_company_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM quotes + LEFT JOIN clients ON quote_client_id = client_id + LEFT JOIN categories ON quote_category_id = category_id + WHERE quotes.company_id = $session_company_id AND (CONCAT(quote_prefix,quote_number) LIKE '%$q%' OR quote_scope LIKE '%$q%' OR category_name LIKE '%$q%' OR quote_status LIKE '%$q%' OR quote_amount LIKE '%$q%' OR client_name LIKE '%$q%') AND DATE(quote_date) BETWEEN '$dtf' AND '$dtt' ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/recurring.php b/recurring.php index ced77824..c72526bf 100644 --- a/recurring.php +++ b/recurring.php @@ -72,10 +72,10 @@ if($_GET['canned_date'] == "custom" AND !empty($_GET['dtf'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM recurring, clients, categories - WHERE recurring.client_id = clients.client_id - AND recurring.category_id = categories.category_id - AND recurring.company_id = $session_company_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM recurring + LEFT JOIN clients ON recurring_client_id = client_id + LEFT JOIN categories ON recurring_category_id = category_id + WHERE recurring.company_id = $session_company_id AND (CONCAT(recurring_prefix,recurring_number) LIKE '%$q%' OR recurring_frequency LIKE '%$q%' OR recurring_scope LIKE '%$q%' OR client_name LIKE '%$q%' OR category_name LIKE '%$q%') AND DATE(recurring_last_sent) BETWEEN '$dtf' AND '$dtt' ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/recurring_invoice.php b/recurring_invoice.php index eb71b93b..d66b4fc8 100644 --- a/recurring_invoice.php +++ b/recurring_invoice.php @@ -12,6 +12,14 @@ if(isset($_GET['recurring_id'])){ AND recurring.recurring_id = $recurring_id" ); + $sql = mysqli_query($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 companies ON recurring.company_id = companies.company_id + WHERE recurring_id = $recurring_id" + ); + $row = mysqli_fetch_array($sql); $recurring_id = $row['recurring_id']; $recurring_prefix = $row['recurring_prefix']; @@ -29,22 +37,22 @@ if(isset($_GET['recurring_id'])){ $recurring_currency_code = $row['recurring_currency_code']; $recurring_note = $row['recurring_note']; $recurring_created_at = $row['recurring_created_at']; - $category_id = $row['category_id']; + $category_id = $row['recurring_category_id']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + if(strlen($contact_phone)>2){ + $contact_phone = substr($row['contact_phone'],0,3)."-".substr($row['contact_phone'],3,3)."-".substr($row['contact_phone'],6,4); } - $client_extension = $row['client_extension']; - $client_mobile = $row['client_mobile']; - if(strlen($client_mobile)>2){ - $client_mobile = substr($row['client_mobile'],0,3)."-".substr($row['client_mobile'],3,3)."-".substr($row['client_mobile'],6,4); + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + if(strlen($contact_mobile)>2){ + $contact_mobile = substr($row['contact_mobile'],0,3)."-".substr($row['contact_mobile'],3,3)."-".substr($row['contact_mobile'],6,4); } $client_website = $row['client_website']; $client_currency_code = $row['client_currency_code']; @@ -71,7 +79,7 @@ if(isset($_GET['recurring_id'])){ $company_website = $row['company_website']; $company_logo = $row['company_logo']; - $sql_history = mysqli_query($mysqli,"SELECT * FROM history WHERE recurring_id = $recurring_id ORDER BY history_id DESC"); + $sql_history = mysqli_query($mysqli,"SELECT * FROM history WHERE history_recurring_id = $recurring_id ORDER BY history_id DESC"); ?> @@ -137,11 +145,11 @@ if(isset($_GET['recurring_id'])){
  • -
  • -
  • -
  • -
  • -
  • +
  • +
  • +
  • +
  • +
@@ -166,7 +174,7 @@ if(isset($_GET['recurring_id'])){
- +
@@ -200,7 +208,7 @@ if(isset($_GET['recurring_id'])){ $item_tax = $row['item_tax']; $item_total = $row['item_total']; $item_created_at = $row['item_created_at']; - $tax_id = $row['tax_id']; + $tax_id = $row['item_tax_id']; $total_tax = $item_tax + $total_tax; $sub_total = $item_price * $item_quantity + $sub_total; diff --git a/report_expense_summary.php b/report_expense_summary.php index 6cdb83fc..0b4c0154 100644 --- a/report_expense_summary.php +++ b/report_expense_summary.php @@ -7,7 +7,7 @@ if(isset($_GET['year'])){ $year = date('Y'); } -$sql_expense_years = mysqli_query($mysqli,"SELECT DISTINCT YEAR(expense_date) AS expense_year FROM expenses WHERE category_id > 0 AND company_id = $session_company_id ORDER BY expense_year DESC"); +$sql_expense_years = mysqli_query($mysqli,"SELECT DISTINCT YEAR(expense_date) AS expense_year FROM expenses WHERE expense_category_id > 0 AND company_id = $session_company_id ORDER BY expense_year DESC"); $sql_categories = mysqli_query($mysqli,"SELECT * FROM categories WHERE category_type = 'Expense' AND company_id = $session_company_id ORDER BY category_name ASC"); @@ -70,7 +70,7 @@ $sql_categories = mysqli_query($mysqli,"SELECT * FROM categories WHERE category_ $total_expense_for_all_months = 0; for($month = 1; $month<=12; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE expense_category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); $row = mysqli_fetch_array($sql_expenses); $expense_amount_for_month = $row['expense_amount_for_month']; $total_expense_for_all_months = $expense_amount_for_month + $total_expense_for_all_months; @@ -99,7 +99,7 @@ $sql_categories = mysqli_query($mysqli,"SELECT * FROM categories WHERE category_ 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_month = $row['expense_total_amount_for_month']; $total_expense_for_all_months = $expense_total_amount_for_month + $total_expense_for_all_months; diff --git a/report_income_summary.php b/report_income_summary.php index ed58e6b7..e9725bb8 100644 --- a/report_income_summary.php +++ b/report_income_summary.php @@ -73,12 +73,12 @@ $sql_categories = mysqli_query($mysqli,"SELECT * FROM categories WHERE category_ for($month = 1; $month<=12; $month++) { //Payments to Invoices - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); $row = mysqli_fetch_array($sql_payments); $payment_amount_for_month = $row['payment_amount_for_month']; //Revenues - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenues.category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenue_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); $row = mysqli_fetch_array($sql_revenues); $revenues_amount_for_month = $row['revenue_amount_for_month']; @@ -109,11 +109,11 @@ $sql_categories = mysqli_query($mysqli,"SELECT * FROM categories WHERE category_ 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenue_category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_revenues); $revenues_total_amount_for_month = $row['revenue_amount_for_month']; diff --git a/report_profit_loss.php b/report_profit_loss.php index cd635f8c..8dac2311 100644 --- a/report_profit_loss.php +++ b/report_profit_loss.php @@ -72,11 +72,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_amount_for_quarter_one = 0; for($month = 1; $month<=3; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); $row = mysqli_fetch_array($sql_payments); $payment_amount_for_month = $row['payment_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenues.category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenue_category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); $row = mysqli_fetch_array($sql_revenues); $revenue_amount_for_month = $row['revenue_amount_for_month']; @@ -94,11 +94,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_amount_for_quarter_two = 0; for($month = 4; $month<=6; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); $row = mysqli_fetch_array($sql_payments); $payment_amount_for_month = $row['payment_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenues.category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenue_category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); $row = mysqli_fetch_array($sql_revenues); $revenue_amount_for_month = $row['revenue_amount_for_month']; @@ -116,11 +116,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_amount_for_quarter_three = 0; for($month = 7; $month<=9; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); $row = mysqli_fetch_array($sql_payments); $payment_amount_for_month = $row['payment_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenues.category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenue_category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); $row = mysqli_fetch_array($sql_revenues); $revenue_amount_for_month = $row['revenue_amount_for_month']; @@ -137,11 +137,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_amount_for_quarter_four = 0; for($month = 10; $month<=12; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND invoices.category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND invoice_category_id = $category_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); $row = mysqli_fetch_array($sql_payments); $payment_amount_for_month = $row['payment_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenues.category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_amount_for_month FROM revenues WHERE revenue_category_id = $category_id AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month"); $row = mysqli_fetch_array($sql_revenues); $revenue_amount_for_month = $row['revenue_amount_for_month']; @@ -173,11 +173,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_total_amount_for_quarter_one = 0; for($month = 1; $month<=3; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_payments); $payment_total_amount_for_month = $row['payment_total_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE revenue_category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_revenues); $revenue_total_amount_for_month = $row['revenue_total_amount_for_month']; @@ -195,11 +195,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_total_amount_for_quarter_two = 0; for($month = 4; $month<=6; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_payments); $payment_total_amount_for_month = $row['payment_total_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE revenue_category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_revenues); $revenue_total_amount_for_month = $row['revenue_total_amount_for_month']; @@ -217,11 +217,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_total_amount_for_quarter_three = 0; for($month = 7; $month<=9; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_payments); $payment_total_amount_for_month = $row['payment_total_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE revenue_category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_revenues); $revenue_total_amount_for_month = $row['revenue_total_amount_for_month']; @@ -239,11 +239,11 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $payment_total_amount_for_quarter_four = 0; for($month = 10; $month<=12; $month++) { - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payments.invoice_id = invoices.invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS payment_total_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month AND payments.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_payments); $payment_total_amount_for_month = $row['payment_total_amount_for_month']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS revenue_total_amount_for_month FROM revenues WHERE revenue_category_id > 0 AND YEAR(revenue_date) = $year AND MONTH(revenue_date) = $month AND revenues.company_id = $session_company_id"); $row = mysqli_fetch_array($sql_revenues); $revenue_total_amount_for_month = $row['revenue_total_amount_for_month']; @@ -279,7 +279,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_amount_for_quarter_one = 0; for($month = 1; $month<=3; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE expense_category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); $row = mysqli_fetch_array($sql_expenses); $expense_amount_for_quarter_one = $expense_amount_for_quarter_one + $row['expense_amount_for_month']; } @@ -293,7 +293,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_amount_for_quarter_two = 0; for($month = 4; $month<=6; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE expense_category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); $row = mysqli_fetch_array($sql_expenses); $expense_amount_for_quarter_two = $expense_amount_for_quarter_two + $row['expense_amount_for_month']; } @@ -307,7 +307,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_amount_for_quarter_three = 0; for($month = 7; $month<=9; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE expense_category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); $row = mysqli_fetch_array($sql_expenses); $expense_amount_for_quarter_three = $expense_amount_for_quarter_three + $row['expense_amount_for_month']; } @@ -321,7 +321,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_amount_for_quarter_four = 0; for($month = 10; $month<=12; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE expense_category_id = $category_id AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month"); $row = mysqli_fetch_array($sql_expenses); $expense_amount_for_quarter_four = $expense_amount_for_quarter_four + $row['expense_amount_for_month']; } @@ -350,7 +350,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_total_amount_for_quarter_one = 0; for($month = 1; $month<=3; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_one = $expense_total_amount_for_quarter_one + $row['expense_total_amount_for_month']; } @@ -364,7 +364,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_total_amount_for_quarter_two = 0; for($month = 4; $month<=6; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_two = $expense_total_amount_for_quarter_two + $row['expense_total_amount_for_month']; } @@ -378,7 +378,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_total_amount_for_quarter_three = 0; for($month = 7; $month<=9; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_three = $expense_total_amount_for_quarter_three + $row['expense_total_amount_for_month']; } @@ -392,7 +392,7 @@ $sql_categories_expense = mysqli_query($mysqli,"SELECT * FROM categories WHERE c $expense_total_amount_for_quarter_four = 0; for($month = 10; $month<=12; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_four = $expense_total_amount_for_quarter_four + $row['expense_total_amount_for_month']; } diff --git a/report_tax_summary.php b/report_tax_summary.php index acdf9776..a11ef007 100644 --- a/report_tax_summary.php +++ b/report_tax_summary.php @@ -9,7 +9,7 @@ if(isset($_GET['year'])){ } //GET unique years from expenses, payments and revenues -$sql_all_years = mysqli_query($mysqli,"SELECT YEAR(item_created_at) AS all_years FROM invoice_items WHERE company_id = $session_company_id ORDER BY all_years DESC"); +$sql_all_years = mysqli_query($mysqli,"SELECT DISTINCT(YEAR(item_created_at)) AS all_years FROM invoice_items WHERE company_id = $session_company_id ORDER BY all_years DESC"); $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session_company_id ORDER BY tax_name ASC"); @@ -67,9 +67,9 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session for($month = 1; $month<=3; $month++) { $sql_tax_collected = mysqli_query($mysqli,"SELECT SUM(item_tax) AS tax_collected_for_month FROM taxes, invoices, invoice_items - WHERE invoice_items.invoice_id = invoices.invoice_id - AND invoices.status LIKE 'Paid' - AND invoices_items.tax_id = $tax_id + WHERE item_invoice_id = invoice_id + AND invoice_status LIKE 'Paid' + AND item_tax_id = $tax_id AND YEAR(invoice_date) = $year AND MONTH(invoice_date) = $month" ); @@ -90,9 +90,9 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session for($month = 4; $month <= 6; $month ++) { $sql_tax_collected = mysqli_query($mysqli,"SELECT SUM(item_tax) AS tax_collected_for_month FROM taxes, invoices, invoice_items - WHERE invoice_items.invoice_id = invoices.invoice_id - AND invoices.status LIKE 'Paid' - AND invoices_items.tax_id = $tax_id + WHERE item_invoice_id = invoice_id + AND invoice_status LIKE 'Paid' + AND item_tax_id = $tax_id AND YEAR(invoice_date) = $year AND MONTH(invoice_date) = $month" ); @@ -113,9 +113,9 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session for($month = 7; $month <= 9; $month ++) { $sql_tax_collected = mysqli_query($mysqli,"SELECT SUM(item_tax) AS tax_collected_for_month FROM taxes, invoices, invoice_items - WHERE invoice_items.invoice_id = invoices.invoice_id - AND invoices.status LIKE 'Paid' - AND invoices_items.tax_id = $tax_id + WHERE item_invoice_id = invoice_id + AND invoice_status LIKE 'Paid' + AND item_tax_id = $tax_id AND YEAR(invoice_date) = $year AND MONTH(invoice_date) = $month" ); @@ -136,9 +136,9 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session for($month = 10; $month <= 12; $month ++) { $sql_tax_collected = mysqli_query($mysqli,"SELECT SUM(item_tax) AS tax_collected_for_month FROM taxes, invoices, invoice_items - WHERE invoice_items.invoice_id = invoices.invoice_id - AND invoices.status LIKE 'Paid' - AND invoices_items.tax_id = $tax_id + WHERE item_invoice_id = invoice_id + AND invoice_status LIKE 'Paid' + AND item_tax_id = $tax_id AND YEAR(invoice_date) = $year AND MONTH(invoice_date) = $month" ); @@ -170,7 +170,7 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session $tax_total_for_quarter_one = 0; for($month = 1; $month<=3; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_one = $expense_total_amount_for_quarter_one + $row['expense_total_amount_for_month']; } @@ -184,7 +184,7 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session $expense_total_amount_for_quarter_two = 0; for($month = 4; $month<=6; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_two = $expense_total_amount_for_quarter_two + $row['expense_total_amount_for_month']; } @@ -198,7 +198,7 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session $expense_total_amount_for_quarter_three = 0; for($month = 7; $month<=9; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_three = $expense_total_amount_for_quarter_three + $row['expense_total_amount_for_month']; } @@ -212,7 +212,7 @@ $sql_tax = mysqli_query($mysqli,"SELECT * FROM taxes WHERE company_id = $session $expense_total_amount_for_quarter_four = 0; for($month = 10; $month<=12; $month++) { - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND vendor_id > 0 AND company_id = $session_company_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS expense_total_amount_for_month FROM expenses WHERE expense_category_id > 0 AND YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_expenses); $expense_total_amount_for_quarter_four = $expense_total_amount_for_quarter_four + $row['expense_total_amount_for_month']; } diff --git a/revenues.php b/revenues.php index f6f58318..4e87e376 100644 --- a/revenues.php +++ b/revenues.php @@ -72,10 +72,10 @@ if($_GET['canned_date'] == "custom" AND !empty($_GET['dtf'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM accounts, revenues, categories - WHERE revenues.account_id = accounts.account_id - AND revenues.category_id = categories.category_id - AND revenues.company_id = $session_company_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM revenues + JOIN categories ON revenue_category_id = category_id + LEFT JOIN accounts ON revenue_account_id = account_id + WHERE revenues.company_id = $session_company_id AND (account_name LIKE '%$q%' OR revenue_payment_method LIKE '%$q%' OR category_name LIKE '%$q%' OR revenue_reference LIKE '%$q%' OR revenue_amount LIKE '%$q%') AND DATE(revenue_date) BETWEEN '$dtf' AND '$dtt' ORDER BY $sb $o LIMIT $record_from, $record_to"); diff --git a/settings-user.php b/settings-user.php index c5861644..61b28048 100644 --- a/settings-user.php +++ b/settings-user.php @@ -3,11 +3,11 @@ diff --git a/setup.php b/setup.php index b358ea97..f7b10417 100644 --- a/setup.php +++ b/setup.php @@ -156,7 +156,7 @@ if(isset($_POST['add_user'])){ $email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['email']))); $password = md5($_POST['password']); - mysqli_query($mysqli,"INSERT INTO users SET name = '$name', email = '$email', password = '$password', created_at = NOW()"); + mysqli_query($mysqli,"INSERT INTO users SET user_name = '$name', user_email = '$email', user_password = '$password', user_created_at = NOW()"); $user_id = mysqli_insert_id($mysqli); @@ -169,9 +169,9 @@ if(isset($_POST['add_user'])){ move_uploaded_file($_FILES['file']['tmp_name'], $path); } - mysqli_query($mysqli,"UPDATE users SET avatar = '$path' WHERE user_id = $user_id"); + mysqli_query($mysqli,"UPDATE users SET user_avatar = '$path' WHERE user_id = $user_id"); - $_SESSION['alert_message'] = "User $name created!"; + $_SESSION['alert_message'] = "User $user_name created!"; header("Location: setup.php?company"); diff --git a/ticket.php b/ticket.php index e8131b7d..c229bb8b 100644 --- a/ticket.php +++ b/ticket.php @@ -6,7 +6,7 @@ if(isset($_GET['ticket_id'])){ $ticket_id = intval($_GET['ticket_id']); - $sql = mysqli_query($mysqli,"SELECT * FROM tickets, clients, users WHERE tickets.client_id = clients.client_id AND tickets.ticket_created_by = users.user_id AND ticket_id = $ticket_id AND tickets.company_id = $session_company_id"); + $sql = mysqli_query($mysqli,"SELECT * FROM tickets LEFT JOIN clients ON ticket_client_id = client_id LEFT JOIN contacts ON ticket_contact_id = contact_id LEFT JOIN users ON ticket_assigned_to = user_id LEFT JOIN locations ON ticket_location_id = location_id WHERE ticket_id = $ticket_id AND tickets.company_id = $session_company_id"); if(mysqli_num_rows($sql) == 0){ echo "

Nothing to see here

Go Back
"; @@ -19,15 +19,6 @@ if(isset($_GET['ticket_id'])){ $client_id = $row['client_id']; $client_name = $row['client_name']; $client_type = $row['client_type']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); - } $client_website = $row['client_website']; $client_net_terms = $row['client_net_terms']; if($client_net_terms == 0){ @@ -65,31 +56,27 @@ if(isset($_GET['ticket_id'])){ } $contact_id = $row['contact_id']; - if(!empty($contact_id)){ - $sql_contact = mysqli_query($mysqli,"SELECT * FROM contacts WHERE contact_id = $contact_id"); - $row = mysqli_fetch_array($sql_contact); - $contact_name = $row['contact_name']; - $contact_title = $row['contact_title']; - $contact_email = $row['contact_email']; - $contact_phone = $row['contact_phone']; - $contact_extension = $row['contact_extension']; - $contact_mobile = $row['contact_mobile']; - $location_id = $row['location_id']; - if(!empty($location_id)){ - $sql_location = mysqli_query($mysqli,"SELECT * FROM locations WHERE location_id = $location_id"); - $row = mysqli_fetch_array($sql_location); - $location_name = $row['location_name']; - } + $contact_name = $row['contact_name']; + $contact_title = $row['contact_title']; + $contact_email = $row['contact_email']; + $contact_phone = $row['contact_phone']; + $contact_extension = $row['contact_extension']; + $contact_mobile = $row['contact_mobile']; + $location_name = $row['location_name']; + $location_address = $row['location_address']; + $location_city = $row['location_city']; + $location_state = $row['location_state']; + $location_zip = $row['location_zip']; + $location_phone = $row['location_phone']; + if(strlen($client_phone)>2){ + $location_phone = substr($row['location_phone'],0,3)."-".substr($row['location_phone'],3,3)."-".substr($row['location_phone'],6,4); } - $ticket_assigned_to = $row['ticket_assigned_to']; if(empty($ticket_assigned_to)){ $ticket_assigned_to_display = "Not Assigned"; }else{ - $sql_assigned_to = mysqli_query($mysqli,"SELECT * FROM users WHERE user_id = $ticket_assigned_to"); - $row = mysqli_fetch_array($sql_assigned_to); - $ticket_assigned_to_display = $row['name']; + $ticket_assigned_to_display = $row['user_name']; } ?> @@ -140,7 +127,7 @@ if(isset($_GET['ticket_id'])){
- +
@@ -164,7 +151,7 @@ if(isset($_GET['ticket_id'])){
- +
@@ -173,7 +160,7 @@ if(isset($_GET['ticket_id'])){
- +
-
- - +
+ +
-

+

-

Client

-
- - -
- - - -
-
diff --git a/tickets.php b/tickets.php index 3549951b..d1c066c3 100644 --- a/tickets.php +++ b/tickets.php @@ -17,12 +17,6 @@ $q = ""; } - if(isset($_GET['status'])){ - $status = mysqli_real_escape_string($mysqli,$_GET['status']); - }else{ - $status = "Open"; - } - if(!empty($_GET['sb'])){ $sb = mysqli_real_escape_string($mysqli,$_GET['sb']); }else{ @@ -79,12 +73,11 @@ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); - $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM tickets, clients - WHERE tickets.client_id = clients.client_id - AND tickets.company_id = $session_company_id + $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM tickets LEFT JOIN clients ON ticket_client_id = client_id LEFT JOIN users ON ticket_assigned_to = user_id + WHERE tickets.company_id = $session_company_id AND ticket_status LIKE '%$status%' AND DATE(ticket_created_at) BETWEEN '$dtf' AND '$dtt' - AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR ticket_priority LIKE '%$q%') + AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR ticket_priority LIKE '%$q%' OR user_name LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); @@ -162,7 +155,7 @@
- + @@ -212,9 +205,7 @@ if(empty($ticket_assigned_to)){ $ticket_assigned_to_display = "

Not Assigned

"; }else{ - $sql_assigned_to = mysqli_query($mysqli,"SELECT * FROM users WHERE user_id = $ticket_assigned_to"); - $row = mysqli_fetch_array($sql_assigned_to); - $ticket_assigned_to_display = $row['name']; + $ticket_assigned_to_display = $row['user_name']; } ?> diff --git a/transfers.php b/transfers.php index f5148e09..b8b32aaa 100644 --- a/transfers.php +++ b/transfers.php @@ -75,9 +75,9 @@ if($_GET['canned_date'] == "custom" AND !empty($_GET['dtf'])){ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); -$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS expenses.expense_date AS transfer_date, expenses.expense_amount AS transfer_amount, expenses.account_id AS transfer_account_from, revenues.account_id AS transfer_account_to, transfers.expense_id, transfers.revenue_id , transfers.transfer_id, transfers.transfer_notes AS transfer_notes FROM transfers, expenses, revenues - WHERE transfers.expense_id = expenses.expense_id - AND transfers.revenue_id = revenues.revenue_id +$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS expense_date AS transfer_date, expense_amount AS transfer_amount, expense_account_id AS transfer_account_from, revenue_account_id AS transfer_account_to, transfer_expense_id, transfer_revenue_id , transfer_id, transfer_notes FROM transfers, expenses, revenues + WHERE transfer_expense_id = expense_id + AND transfer_revenue_id = revenue_id AND transfers.company_id = $session_company_id AND DATE(expense_date) BETWEEN '$dtf' AND '$dtt' ORDER BY $sb $o LIMIT $record_from, $record_to" diff --git a/trips.php b/trips.php index 98f73d73..54c2e813 100644 --- a/trips.php +++ b/trips.php @@ -72,10 +72,10 @@ //Rebuild URL $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); - $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM trips - WHERE (trip_purpose LIKE '%$q%' OR trip_source LIKE '%$q%' OR trip_destination LIKE '%$q%' OR trip_miles LIKE '%$q%') + $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM trips LEFT JOIN clients ON trip_client_id = client_id + WHERE (trip_purpose LIKE '%$q%' OR trip_source LIKE '%$q%' OR trip_destination LIKE '%$q%' OR trip_miles LIKE '%$q%' OR client_name LIKE '%$q%') AND DATE(trip_date) BETWEEN '$dtf' AND '$dtt' - AND company_id = $session_company_id + AND trips.company_id = $session_company_id ORDER BY $sb $o LIMIT $record_from, $record_to" ); @@ -150,6 +150,7 @@ "> + @@ -169,7 +170,12 @@ $trip_miles = $row['trip_miles']; $round_trip = $row['round_trip']; $client_id = $row['client_id']; - + $client_name = $row['client_name']; + if(empty($client_name)){ + $client_name_display = "-"; + }else{ + $client_name_display = "$client_name"; + } if($round_trip == 1){ $round_trip_display = ""; }else{ @@ -179,6 +185,7 @@ ?> + diff --git a/users.php b/users.php index 28021712..a43bf594 100644 --- a/users.php +++ b/users.php @@ -20,7 +20,7 @@ if(!empty($_GET['sb'])){ $sb = mysqli_real_escape_string($mysqli,$_GET['sb']); }else{ - $sb = "name"; + $sb = "user_name"; } if(isset($_GET['o'])){ @@ -40,8 +40,8 @@ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM users, permissions - WHERE users.user_id = permissions.user_id - AND (name LIKE '%$q%' OR email LIKE '%$q%') + WHERE users.user_id = permissions.user_id + AND (user_name LIKE '%$q%' OR user_email LIKE '%$q%') ORDER BY $sb $o LIMIT $record_from, $record_to"); $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); @@ -69,8 +69,8 @@
Name ">AddressContactNameLocationContact Billing Action
- +
- +
- +
- + diff --git a/cron.php b/cron.php index 30ab57b1..b2b550c9 100644 --- a/cron.php +++ b/cron.php @@ -49,7 +49,7 @@ while($row = mysqli_fetch_array($sql_companies)){ //Get Domains Expiring $sql = mysqli_query($mysqli,"SELECT * FROM domains, clients - WHERE domains.client_id = clients.client_id + WHERE domain_client_id = client_id AND domain_expire = CURDATE() + INTERVAL $day DAY AND domains.company_id = $company_id ORDER BY domain_id DESC" @@ -74,14 +74,15 @@ while($row = mysqli_fetch_array($sql_companies)){ foreach($invoiceAlertArray as $day){ - $sql = mysqli_query($mysqli,"SELECT * FROM invoices, clients - WHERE invoices.client_id = clients.client_id - AND invoices.invoice_status NOT LIKE 'Draft' - AND invoices.invoice_status NOT LIKE 'Paid' - AND invoices.invoice_status NOT LIKE 'Cancelled' - AND DATE_ADD(invoices.invoice_due, INTERVAL $day DAY) = CURDATE() + $sql = mysqli_query($mysqli,"SELECT * FROM invoices + LEFT JOIN clients ON invoice_client_id = client_id + LEFT JOIN contacts ON contact_id = primary_contact + WHERE invoice_status NOT LIKE 'Draft' + AND invoice_status NOT LIKE 'Paid' + AND invoice_status NOT LIKE 'Cancelled' + AND DATE_ADD(invoice_due, INTERVAL $day DAY) = CURDATE() AND invoices.company_id = $company_id - ORDER BY invoices.invoice_number DESC" + ORDER BY invoice_number DESC" ); while($row = mysqli_fetch_array($sql)){ @@ -95,8 +96,8 @@ while($row = mysqli_fetch_array($sql_companies)){ $invoice_amount = $row['invoice_amount']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_email = $row['client_email']; - + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; mysqli_query($mysqli,"INSERT INTO alerts SET alert_type = 'Invoice', alert_message = 'Invoice $invoice_prefix$invoice_number for $client_name in the amount of $invoice_amount is overdue by $day days', alert_date = NOW(), company_id = $company_id"); @@ -117,23 +118,23 @@ while($row = mysqli_fetch_array($sql_companies)){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = "Overdue Invoice $invoice_prefix$invoice_number"; - $mail->Body = "Hello $client_name,

According to our records, we have not received payment for invoice $invoice_prefix$invoice_number. Please submit your payment as soon as possible. If you have any questions please contact us at $company_phone. + $mail->Body = "Hello $contact_name,

According to our records, we have not received payment for invoice $invoice_prefix$invoice_number. Please submit your payment as soon as possible. If you have any questions please contact us at $company_phone.

Please view the details of the invoice below.

Invoice: $invoice_prefix$invoice_number
Issue Date: $invoice_date
Total: $$invoice_amount
Due Date: $invoice_due


To view your invoice online click here


~
$company_name
$company_phone"; $mail->send(); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Cron Emailed Overdue Invoice!', history_created_at = NOW(), invoice_id = $invoice_id, company_id = $company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Cron Emailed Overdue Invoice!', history_created_at = NOW(), history_invoice_id = $invoice_id, company_id = $company_id"); }catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Cron Failed to send Overdue Invoice!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Cron Failed to send Overdue Invoice!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $company_id"); } //End Mail Try } @@ -150,15 +151,15 @@ while($row = mysqli_fetch_array($sql_companies)){ $account_name = $row['account_name']; $opening_balance = $row['opening_balance']; - $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments FROM payments WHERE account_id = $account_id"); + $sql_payments = mysqli_query($mysqli,"SELECT SUM(payment_amount) AS total_payments FROM payments WHERE payment_account_id = $account_id"); $row = mysqli_fetch_array($sql_payments); $total_payments = $row['total_payments']; - $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE account_id = $account_id"); + $sql_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE revenue_account_id = $account_id"); $row = mysqli_fetch_array($sql_revenues); $total_revenues = $row['total_revenues']; - $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE account_id = $account_id"); + $sql_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE expense_account_id = $account_id"); $row = mysqli_fetch_array($sql_expenses); $total_expenses = $row['total_expenses']; @@ -175,7 +176,7 @@ while($row = mysqli_fetch_array($sql_companies)){ //Send Recurring Invoices that match todays date and are active //Loop through all recurring that match today's date and is active - $sql_recurring = mysqli_query($mysqli,"SELECT * FROM recurring, clients WHERE clients.client_id = recurring.client_id AND recurring.recurring_next_date = CURDATE() AND recurring.recurring_status = 1 AND recurring.company_id = $company_id"); + $sql_recurring = mysqli_query($mysqli,"SELECT * FROM recurring, clients WHERE client_id = recurring_client_id AND recurring_next_date = CURDATE() AND recurring_status = 1 AND recurring.company_id = $company_id"); while($row = mysqli_fetch_array($sql_recurring)){ $recurring_id = $row['recurring_id']; @@ -187,8 +188,8 @@ while($row = mysqli_fetch_array($sql_companies)){ $recurring_amount = $row['recurring_amount']; $recurring_currency_code = $row['recurring_currency_code']; $recurring_note = mysqli_real_escape_string($mysqli,$row['recurring_note']); //Escape SQL - $category_id = $row['category_id']; - $client_id = $row['client_id']; + $category_id = $row['recurring_category_id']; + $client_id = $row['recurring_client_id']; $client_name = mysqli_real_escape_string($mysqli,$row['client_name']); //Escape SQL just in case a name is like Safran's etc $client_net_terms = $row['client_net_terms']; @@ -204,12 +205,12 @@ while($row = mysqli_fetch_array($sql_companies)){ //Generate a unique URL key for clients to access $url_key = keygen(); - 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', category_id = $category_id, invoice_status = 'Sent', invoice_url_key = '$url_key', invoice_created_at = NOW(), client_id = $client_id, company_id = $company_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_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_created_at = NOW(), invoice_client_id = $client_id, company_id = $company_id"); $new_invoice_id = mysqli_insert_id($mysqli); //Copy Items from original recurring invoice to new invoice - $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE recurring_id = $recurring_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_recurring_id = $recurring_id ORDER BY item_id ASC"); while($row = mysqli_fetch_array($sql_invoice_items)){ $item_id = $row['item_id']; @@ -223,11 +224,11 @@ while($row = mysqli_fetch_array($sql_companies)){ $tax_id = $row['tax_id']; //Insert Items into New Invoice - mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = '$item_quantity', item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), tax_id = $tax_id, invoice_id = $new_invoice_id, company_id = $company_id"); + mysqli_query($mysqli,"INSERT INTO invoice_items SET item_name = '$item_name', item_description = '$item_description', item_quantity = '$item_quantity', item_price = '$item_price', item_subtotal = '$item_subtotal', item_tax = '$item_tax', item_total = '$item_total', item_created_at = NOW(), item_tax_id = $tax_id, item_invoice_id = $new_invoice_id, company_id = $company_id"); } - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Invoice Generated from Recurring!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Invoice Generated from Recurring!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $company_id"); mysqli_query($mysqli,"INSERT INTO alerts SET alert_type = 'Recurring', alert_message = 'Recurring Invoice $config_invoice_prefix$new_invoice_number for $client_name Sent', alert_date = NOW(), company_id = $company_id"); @@ -236,9 +237,10 @@ while($row = mysqli_fetch_array($sql_companies)){ mysqli_query($mysqli,"UPDATE recurring SET recurring_last_sent = CURDATE(), recurring_next_date = DATE_ADD(CURDATE(), INTERVAL 1 $recurring_frequency), recurring_updated_at = NOW() WHERE recurring_id = $recurring_id"); if($config_recurring_auto_send_invoice == 1){ - $sql = mysqli_query($mysqli,"SELECT * FROM invoices, clients - WHERE invoices.client_id = clients.client_id - AND invoices.invoice_id = $new_invoice_id + $sql = mysqli_query($mysqli,"SELECT * FROM invoices + LEFT JOIN clients ON invoice_client_id = client_id + LEFT JOIN contacts ON contact_id = primary_contact + WHERE invoice_id = $new_invoice_id AND invoices.company_id = $company_id" ); @@ -251,15 +253,8 @@ while($row = mysqli_fetch_array($sql_companies)){ $invoice_url_key = $row['invoice_url_key']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_address = $row['client_address']; - $client_city = $row['client_city']; - $client_state = $row['client_state']; - $client_zip = $row['client_zip']; - $client_email = $row['client_email']; - $client_phone = $row['client_phone']; - if(strlen($client_phone)>2){ - $client_phone = substr($row['client_phone'],0,3)."-".substr($row['client_phone'],3,3)."-".substr($row['client_phone'],6,4); - } + $contact_name = $row['contact_name']; + $contact_email = $row['contact_email']; $mail = new PHPMailer(true); @@ -278,24 +273,24 @@ while($row = mysqli_fetch_array($sql_companies)){ //Recipients $mail->setFrom($config_mail_from_email, $config_mail_from_name); - $mail->addAddress("$client_email", "$client_name"); // Add a recipient + $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient // Content $mail->isHTML(true); // Set email format to HTML $mail->Subject = "Invoice $invoice_prefix$invoice_number"; - $mail->Body = "Hello $client_name,

Please view the details of the invoice below.

Invoice: $invoice_prefix$invoice_number
Issue Date: $invoice_date
Total: $$invoice_amount
Due Date: $invoice_due


To view your invoice online click here


~
$company_name
$company_phone"; + $mail->Body = "Hello $contact_name,

Please view the details of the invoice below.

Invoice: $invoice_prefix$invoice_number
Issue Date: $invoice_date
Total: $$invoice_amount
Due Date: $invoice_due


To view your invoice online click here


~
$company_name
$company_phone"; $mail->send(); - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Cron Emailed Invoice!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Sent', history_description = 'Cron Emailed Invoice!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $company_id"); //Update Invoice Status to Sent - mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent', invoice_updated_at = NOW(), client_id = $client_id WHERE invoice_id = $new_invoice_id"); + mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent', invoice_updated_at = NOW(), invoice_client_id = $client_id WHERE invoice_id = $new_invoice_id"); }catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; - mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Cron Failed to send Invoice!', history_created_at = NOW(), invoice_id = $new_invoice_id, company_id = $company_id"); + mysqli_query($mysqli,"INSERT INTO history SET history_date = CURDATE(), history_status = 'Draft', history_description = 'Cron Failed to send Invoice!', history_created_at = NOW(), history_invoice_id = $new_invoice_id, company_id = $company_id"); } //End Mail Try } //End if Autosend is on } //End Recurring Invoices Loop diff --git a/dashboard.php b/dashboard.php index 40e1364d..24b54565 100644 --- a/dashboard.php +++ b/dashboard.php @@ -27,14 +27,14 @@ $sql_total_payments_to_invoices = mysqli_query($mysqli,"SELECT SUM(payment_amoun $row = mysqli_fetch_array($sql_total_payments_to_invoices); $total_payments_to_invoices = $row['total_payments_to_invoices']; //Do not grab transfer payment as these have an category_id of 0 -$sql_total_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE YEAR(revenue_date) = $year AND category_id > 0 AND company_id = $session_company_id"); +$sql_total_revenues = mysqli_query($mysqli,"SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE YEAR(revenue_date) = $year AND revenue_category_id > 0 AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_revenues); $total_revenues = $row['total_revenues']; $total_income = $total_payments_to_invoices + $total_revenues; //Get Total expenses and do not grab transfer expenses as these have a vendor of 0 -$sql_total_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE vendor_id > 0 AND YEAR(expense_date) = $year AND company_id = $session_company_id"); +$sql_total_expenses = mysqli_query($mysqli,"SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE expense_vendor_id > 0 AND YEAR(expense_date) = $year AND company_id = $session_company_id"); $row = mysqli_fetch_array($sql_total_expenses); $total_expenses = $row['total_expenses']; @@ -59,15 +59,15 @@ $profit = $total_income - $total_expenses; $sql_accounts = mysqli_query($mysqli,"SELECT * FROM accounts WHERE company_id = $session_company_id"); $sql_latest_invoice_payments = mysqli_query($mysqli,"SELECT * FROM payments, invoices, clients - WHERE payments.invoice_id = invoices.invoice_id - AND invoices.client_id = clients.client_id + WHERE payment_invoice_id = invoice_id + AND invoice_client_id = client_id AND clients.company_id = $session_company_id ORDER BY payment_id DESC LIMIT 5" ); $sql_latest_expenses = mysqli_query($mysqli,"SELECT * FROM expenses, vendors, categories - WHERE expenses.vendor_id = vendors.vendor_id - AND expenses.category_id = categories.category_id + WHERE expense_vendor_id = vendor_id + AND expense_category_id = category_id AND expenses.company_id = $session_company_id ORDER BY expense_id DESC LIMIT 5" ); @@ -82,7 +82,7 @@ $row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('client_id') AS cli $clients_added = $row['clients_added']; //Get Total Vendors added -$row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('vendor_id') AS vendors_added FROM vendors WHERE YEAR(vendor_created_at) = $year AND client_id = 0 AND company_id = $session_company_id")); +$row = mysqli_fetch_assoc(mysqli_query($mysqli,"SELECT COUNT('vendor_id') AS vendors_added FROM vendors WHERE YEAR(vendor_created_at) = $year AND vendor_client_id = 0 AND company_id = $session_company_id")); $vendors_added = $row['vendors_added']; //Get Total of Recurring Invoices @@ -308,15 +308,15 @@ $total_recurring_invoice_amount = $row['total_recurring_invoice_amount'];
TimestampUserUser Type Action Description
Status Subject ClientAssignedAssigned Last Response Created
DateClient Purpose Source Destination
"> - - + + @@ -82,9 +82,9 @@ while($row = mysqli_fetch_array($sql)){ $user_id = $row['user_id']; - $name = $row['name']; - $email = $row['email']; - $avatar = $row['avatar']; + $user_name = $row['user_name']; + $user_email = $row['user_email']; + $user_avatar = $row['user_avatar']; $permission_default_company = $row['permission_default_company']; $permission_level = $row['permission_level']; if($permission_level == 5){ @@ -103,10 +103,10 @@ $permission_clients = $row['permission_clients']; $permission_clients_array = explode(",",$permission_clients); $permission_actions = $row['permission_actions']; - $initials = initials($name); + $user_initials = initials($user_name); $sql_last_login = mysqli_query($mysqli,"SELECT * FROM logs - WHERE user_id = $user_id AND log_type = 'Login' + WHERE log_user_id = $user_id AND log_type = 'Login' ORDER BY log_id DESC LIMIT 1" ); $row = mysqli_fetch_array($sql_last_login); @@ -120,20 +120,20 @@ - + diff --git a/vendors.php b/vendors.php index bbece55c..0ec2b721 100644 --- a/vendors.php +++ b/vendors.php @@ -51,7 +51,7 @@ if(!empty($_GET['dtf'])){ $url_query_strings_sb = http_build_query(array_merge($_GET,array('sb' => $sb, 'o' => $o))); $sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS * FROM vendors - WHERE client_id = 0 + WHERE vendor_client_id = 0 AND DATE(vendor_created_at) BETWEEN '$dtf' AND '$dtt' AND (vendor_name LIKE '%$q%' OR vendor_description LIKE '%$q%' OR vendor_account_number LIKE '%$q%') AND vendor_archived_at IS NULL
NameEmailNameEmail Access Level Status Last Login
- - + + - +
-
+
-