<?php
session_start();
require_once 'config/db.php';

if (!isset($_SESSION['user_id'])) {
    header('Location: login.php');
    exit();
}

$db = new Database();
$pdo = $db->getConnection();

// التحقق من وجود معرف الزبون
if (!isset($_GET['id'])) {
    $_SESSION['message'] = 'معرف الزبون غير موجود';
    header('Location: customers.php');
    exit();
}

$customer_id = $_GET['id'];

// الحصول على بيانات الزبون
try {
    $stmt = $pdo->prepare("SELECT * FROM customers WHERE id = ?");
    $stmt->execute([$customer_id]);
    $customer = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$customer) {
        $_SESSION['message'] = 'الزبون غير موجود';
        header('Location: customers.php');
        exit();
    }
} catch (PDOException $e) {
    $_SESSION['message'] = 'حدث خطأ أثناء استرجاع بيانات الزبون';
    header('Location: customers.php');
    exit();
}

// معالجة تحديث الزبون
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $name = $_POST['name'];
        $phone = $_POST['phone'];
        
        // التحقق من عدم تكرار رقم الهاتف
        if ($phone && $phone !== $customer['phone']) {
            $stmt = $pdo->prepare("SELECT COUNT(*) FROM customers WHERE phone = ? AND id != ?");
            $stmt->execute([$phone, $customer_id]);
            if ($stmt->fetchColumn() > 0) {
                throw new Exception("رقم الهاتف مسجل مسبقاً");
            }
        }
        
        // تحديث بيانات الزبون
        $stmt = $pdo->prepare("
            UPDATE customers 
            SET name = ?, phone = ?
            WHERE id = ?
        ");
        
        $stmt->execute([$name, $phone, $customer_id]);
        
        $_SESSION['message'] = 'تم تحديث بيانات الزبون بنجاح';
        header('Location: customers.php');
        exit();
        
    } catch (Exception $e) {
        $error = $e->getMessage();
    }
}
?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>تعديل بيانات الزبون - نظام إدارة البقالة</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="assets/css/style.css" rel="stylesheet">
</head>
<body>
    <?php include 'includes/navbar.php'; ?>

    <div class="container mt-4">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">
                        <h3 class="card-title">تعديل بيانات الزبون</h3>
                    </div>
                    <div class="card-body">
                        <?php if (isset($error)): ?>
                            <div class="alert alert-danger">
                                <?php echo htmlspecialchars($error); ?>
                            </div>
                        <?php endif; ?>

                        <form method="POST" class="needs-validation" novalidate>
                            <div class="mb-3">
                                <label for="name" class="form-label">اسم الزبون</label>
                                <input type="text" class="form-control" id="name" name="name" 
                                       value="<?php echo htmlspecialchars($customer['name']); ?>" required>
                                <div class="invalid-feedback">
                                    يرجى إدخال اسم الزبون
                                </div>
                            </div>

                            <div class="mb-3">
                                <label for="phone" class="form-label">رقم الهاتف</label>
                                <input type="tel" class="form-control" id="phone" name="phone" 
                                       value="<?php echo htmlspecialchars($customer['phone']); ?>"
                                       pattern="[0-9]{10}" title="يرجى إدخال رقم هاتف صحيح">
                                <div class="form-text">
                                    أدخل رقم الهاتف بصيغة: 05xxxxxxxx
                                </div>
                            </div>

                            <div class="d-grid gap-2">
                                <button type="submit" class="btn btn-primary">حفظ التغييرات</button>
                                <a href="customers.php" class="btn btn-secondary">إلغاء</a>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        // التحقق من صحة النموذج
        (function() {
            'use strict';
            const forms = document.querySelectorAll('.needs-validation');
            Array.from(forms).forEach(form => {
                form.addEventListener('submit', event => {
                    if (!form.checkValidity()) {
                        event.preventDefault();
                        event.stopPropagation();
                    }
                    form.classList.add('was-validated');
                }, false);
            });
        })();
    </script>
</body>
</html>
