<?php
require_once 'includes/config.php';
require_once 'includes/functions.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    redirect('review_invoices.php');
}

// Get invoice ID from invoice number
$invoice_number = trim($_POST['invoice_number']);
$invoice = $db->fetchOne("SELECT id FROM invoices WHERE invoice_number = ?", [$invoice_number]);
if (!$invoice) {
    $_SESSION['error'] = 'الفاتورة غير موجودة';
    redirect('review_invoices.php');
}
$invoice_id = $invoice['id'];

$customer_name = trim($_POST['customer_name']);
$customer_phone = trim($_POST['customer_phone']);
$invoice_date = $_POST['invoice_date'];
$notes = trim($_POST['notes']);
$items = $_POST['items'];

// تحديث بيانات العميل في جدول customers إذا لزم الأمر
// (يمكنك تخصيص ذلك حسب منطقك)

// تحديث بيانات العميل إذا كانت الفاتورة مرتبطة بعميل
$invoice = $db->fetchOne("SELECT customer_id FROM invoices WHERE id = ?", [$invoice_id]);
if (!empty($invoice['customer_id'])) {
    $db->query("UPDATE customers SET name = ?, phone = ? WHERE id = ?", [
        $customer_name,
        $customer_phone,
        $invoice['customer_id']
    ]);
}

// تحديث بيانات الفاتورة
$db->query("UPDATE invoices SET date = ?, notes = ? WHERE id = ?", [
    $invoice_date,
    $notes,
    $invoice_id
]);

// حذف العناصر القديمة وإعادة إدخالها
$db->query("DELETE FROM invoice_items WHERE invoice_id = ?", [$invoice_id]);
$total_amount = 0;
foreach ($items as $item) {
    $item_total = $item['price'] * $item['quantity'];
    $total_amount += $item_total;
    $db->query("INSERT INTO invoice_items (invoice_id, product_name, price, quantity, total, warranty_end) VALUES (?, ?, ?, ?, ?, ?)", [
        $invoice_id,
        $item['name'],
        $item['price'],
        $item['quantity'],
        $item_total,
        !empty($item['warranty_end']) ? $item['warranty_end'] : null
    ]);
}
// تحديث المبلغ الإجمالي في جدول الفواتير
$db->query("UPDATE invoices SET total_amount = ? WHERE id = ?", [$total_amount, $invoice_id]);

$_SESSION['success'] = 'تم تحديث الفاتورة بنجاح!';
redirect('review_invoices.php');
