Properly delete everything related to a company when deleting a company

This commit is contained in:
johnnyq
2022-05-07 16:46:50 -04:00
parent 463fcdbe4f
commit 5044dc6084
+47 -10
View File
@@ -661,18 +661,31 @@ if(isset($_GET['delete_company'])){
// Delete Company and all relational data A-Z
mysqli_query($mysqli,"DELETE FROM accounts WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM notifications WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM api_keys WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM assets WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM calendars WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM notifications WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM campaigns WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM campaign_messages WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM categories WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM certificates WHERE company_id = $company_id");
$sql = mysqli_query($mysqli,"SELECT client_id FROM clients WHERE company_id = $company_id");
while($row = mysqli_fetch_array($sql)){
$client_id = $row['client_id'];
mysqli_query($mysqli,"DELETE FROM client_tags WHERE client_id = $client_id");
mysqli_query($mysqli,"DELETE FROM shared_items WHERE item_client_id = $client_id");
}
mysqli_query($mysqli,"DELETE FROM clients WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM contacts WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM custom_links WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM documents WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM domains WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM events WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM expenses WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM files WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM folders WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM history WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM invoices WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM invoice_items WHERE company_id = $company_id");
@@ -680,27 +693,51 @@ if(isset($_GET['delete_company'])){
mysqli_query($mysqli,"DELETE FROM logins WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM logs WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM networks WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM notifications WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM payments WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM products WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM quotes WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM records WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM recurring WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM revenues WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM scheduled_tickets WHERE company_id = $company_id");
// Delete Items Associated Services
$sql = mysqli_query($mysqli,"SELECT service_id FROM services WHERE company_id = $company_id");
while($row = mysqli_fetch_array($sql)){
$service_id = $row['service_id'];
mysqli_query($mysqli,"DELETE FROM service_assets WHERE service_id = $service_id");
mysqli_query($mysqli,"DELETE FROM service_certificates WHERE service_id = $service_id");
mysqli_query($mysqli,"DELETE FROM service_contacts WHERE service_id = $service_id");
mysqli_query($mysqli,"DELETE FROM service_documents WHERE service_id = $service_id");
mysqli_query($mysqli,"DELETE FROM service_domains WHERE service_id = $service_id");
mysqli_query($mysqli,"DELETE FROM service_logins WHERE service_id = $service_id");
mysqli_query($mysqli,"DELETE FROM service_vendors WHERE service_id = $service_id");
}
mysqli_query($mysqli,"DELETE FROM services WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM settings WHERE company_id = $company_id");
$sql = mysqli_query($mysqli,"SELECT software_id FROM software WHERE company_id = $company_id");
while($row = mysqli_fetch_array($sql)){
$software_id = $row['software_id'];
mysqli_query($mysqli,"DELETE FROM software_assets WHERE software_id = $software_id");
mysqli_query($mysqli,"DELETE FROM software_contacts WHERE software_id = $software_id");
}
mysqli_query($mysqli,"DELETE FROM software WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM tags WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM taxes WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM tickets WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM ticket_updates WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM ticket_replies WHERE company_id = $company_id");
// TODO ticket views is missing company_id
// mysqli_query($mysqli,"DELETE FROM ticket_views WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM transfers WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM trips WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM vendors WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM settings WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM api_keys WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM campaigns WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM messages WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM custom_links WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM user_companies WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM tags WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM client_tags WHERE company_id = $company_id");
mysqli_query($mysqli,"DELETE FROM vendors WHERE company_id = $company_id");
// Delete Company Files
removeDirectory('uploads/clients/$company_id');