false, 'ERROR' => 'BusinessID is required']); } if ($confirm !== 'DELETE_ALL_DATA') { jsonResponse(['OK' => false, 'ERROR' => "Must pass confirm: 'DELETE_ALL_DATA' to proceed"]); } try { // Get counts before deletion $itemCount = queryOne("SELECT COUNT(*) as cnt FROM Items WHERE BusinessID = ?", [$businessID]); $catCount = queryOne("SELECT COUNT(*) as cnt FROM Categories WHERE BusinessID = ?", [$businessID]); // Get item IDs for this business to delete template links $itemRows = queryTimed("SELECT ID FROM Items WHERE BusinessID = ?", [$businessID]); $itemIds = array_column($itemRows, 'ID'); $deletedLinks = 0; if (count($itemIds) > 0) { $placeholders = implode(',', array_fill(0, count($itemIds), '?')); $params = array_merge($itemIds, $itemIds); queryTimed( "DELETE FROM lt_ItemID_TemplateItemID WHERE ItemID IN ($placeholders) OR TemplateItemID IN ($placeholders)", $params ); $deletedLinks = count($itemIds); } // Delete all items for this business queryTimed("DELETE FROM Items WHERE BusinessID = ?", [$businessID]); // Delete all categories for this business queryTimed("DELETE FROM Categories WHERE BusinessID = ?", [$businessID]); jsonResponse([ 'OK' => true, 'deleted' => [ 'items' => (int) $itemCount['cnt'], 'categories' => (int) $catCount['cnt'], 'templateLinks' => $deletedLinks, ], 'businessID' => $businessID, ]); } catch (Exception $e) { jsonResponse(['OK' => false, 'ERROR' => $e->getMessage()]); }