From d3ba167d414376b7b3647f2bdf85724ed70b3991 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 6 May 2026 22:46:48 +0000 Subject: [PATCH] Fix billing review follow-ups Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1e47877f-c80e-4514-bdff-2bd022c84f13 Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com> --- modules/billing/add_to_cart.php | 2 +- modules/billing/api/capture_order.php | 12 ++++++------ modules/billing/checkout_free.php | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/billing/add_to_cart.php b/modules/billing/add_to_cart.php index 5278a690..74313637 100644 --- a/modules/billing/add_to_cart.php +++ b/modules/billing/add_to_cart.php @@ -215,7 +215,7 @@ if ($stmt) { $invoice_duration = $durationInfo['invoice_duration']; $rate_type = $durationInfo['rate_type']; $stmt->bind_param( - 'iisisssssdsssssdissssddsi', + 'iisiissssdsssssssdissddsi', $esc_user_id, $esc_service_id, $home_name, diff --git a/modules/billing/api/capture_order.php b/modules/billing/api/capture_order.php index 29014a38..1d5f6a68 100644 --- a/modules/billing/api/capture_order.php +++ b/modules/billing/api/capture_order.php @@ -123,7 +123,7 @@ function cap_invoice_ids_from_custom_id(?string $customId): array { return array_values(array_unique($invoiceIds)); } -function cap_duration_metadata(array $invoice): array { +function cap_get_duration_metadata(array $invoice): array { $duration = strtolower((string)($invoice['invoice_duration'] ?? $invoice['rate_type'] ?? 'month')); switch ($duration) { case 'day': @@ -139,8 +139,8 @@ function cap_duration_metadata(array $invoice): array { } } -function cap_end_date(array $invoice, ?string $fromDate = null): string { - $meta = cap_duration_metadata($invoice); +function cap_get_end_date(array $invoice, ?string $fromDate = null): string { + $meta = cap_get_duration_metadata($invoice); $qty = max(1, intval($invoice['qty'] ?? 1)); $baseTs = time(); if (!empty($fromDate)) { @@ -279,7 +279,7 @@ foreach ($invoices as $inv) { $invoiceBase = round((float)($inv['subtotal'] ?? $inv['total_due'] ?? $inv['amount'] ?? 0), 2); $lineDiscount = round((float)($discountMap[$invoiceId] ?? 0), 2); $lineTotal = round(max(0, $invoiceBase - $lineDiscount), 2); - $durationMeta = cap_duration_metadata($inv); + $durationMeta = cap_get_duration_metadata($inv); $invoiceUpdate = [ 'coupon_id' => $couponId, @@ -319,7 +319,7 @@ foreach ($invoices as $inv) { // Existing order linked to this invoice — extend it and mark Active. $order = $repo->getOrder($orderId); if ($order) { - $newEnd = cap_end_date($inv, $order['end_date'] ?? null); + $newEnd = cap_get_end_date($inv, $order['end_date'] ?? null); $currentHomeId = intval($order['home_id'] ?? 0); $repo->updateOrderFields($orderId, [ 'status' => 'Active', @@ -342,7 +342,7 @@ foreach ($invoices as $inv) { } } else { // No billing_orders row yet — create one now so the provisioner can run. - $newEnd = cap_end_date($inv, null); + $newEnd = cap_get_end_date($inv, null); $newOrderId = $repo->createOrder([ 'user_id' => intval($inv['user_id']), 'service_id' => intval($inv['service_id']), diff --git a/modules/billing/checkout_free.php b/modules/billing/checkout_free.php index f0f11b56..a6937247 100644 --- a/modules/billing/checkout_free.php +++ b/modules/billing/checkout_free.php @@ -99,7 +99,7 @@ require_once __DIR__ . '/classes/BillingService.php'; $repo = new BillingRepository($db, $table_prefix); $newOrderIds = []; -$durationMeta = static function (array $invoice): array { +$duration_meta = static function (array $invoice): array { $duration = strtolower((string)($invoice['invoice_duration'] ?? $invoice['rate_type'] ?? 'month')); switch ($duration) { case 'day': @@ -119,7 +119,7 @@ foreach ($invoices as $inv) { $invoiceId = intval($inv['invoice_id']); $invoiceBase = round((float)($inv['subtotal'] ?? $inv['total_due'] ?? $inv['amount'] ?? 0), 2); $orderId = intval($inv['order_id'] ?? 0); - $meta = $durationMeta($inv); + $meta = $duration_meta($inv); $repo->updateInvoiceFields($invoiceId, [ 'order_id' => $orderId,