<?php
$pageTitle = 'الملف الشخصي';
include __DIR__ . '/includes/header.php';

checkLogin();
$db = getDB();
$user = getCurrentUser();
$errors = [];
$success_message = '';

// معالجة التحديث
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $full_name = trim($_POST['full_name'] ?? '');
    $email     = trim($_POST['email'] ?? '');
    $password  = trim($_POST['password'] ?? '');

    if (empty($full_name)) {
        $errors[] = 'الاسم الكامل مطلوب.';
    }
    if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $errors[] = 'البريد الإلكتروني غير صالح.';
    }

    if (empty($errors)) {
        $sql = "UPDATE users SET full_name = ?, email = ? WHERE id = ?";
        $params = [$full_name, $email, $_SESSION['user_id']];

        if (!empty($password)) {
            $hashed = password_hash($password, PASSWORD_DEFAULT);
            $sql = "UPDATE users SET full_name = ?, email = ?, password = ? WHERE id = ?";
            $params = [$full_name, $email, $hashed, $_SESSION['user_id']];
        }

        // تم التعديل: استخدام الدالة الصحيحة `update()` من فئة Database
        $updated = $db->update($sql, $params);
        
        // الدالة update() تعيد عدد الصفوف المتأثرة (أكبر من 0 عند النجاح)، أو false عند الفشل
        if ($updated !== false && $updated >= 0) { 
            // الشرط `>= 0` لضمان النجاح حتى لو لم تتغير البيانات
            $_SESSION['success_message'] = 'تم تحديث الملف الشخصي بنجاح.';
            header('Location: profile.php');
            exit();
        } else {
            $errors[] = 'حدث خطأ أثناء تحديث البيانات.';
        }
    }
}
?>

<div class="container-fluid">
    <div class="row justify-content-center">
        <div class="col-md-6">
            <div class="card fade-in">
                <div class="card-header"><h4><?php echo $pageTitle; ?></h4></div>
                <div class="card-body">
                    <?php if (!empty($_SESSION['success_message'])): ?>
                        <div class="alert alert-success">
                            <?php echo $_SESSION['success_message']; unset($_SESSION['success_message']); ?>
                        </div>
                    <?php endif; ?>

                    <?php if (!empty($errors)): ?>
                        <div class="alert alert-danger">
                            <ul>
                                <?php foreach ($errors as $e): ?>
                                    <li><?php echo htmlspecialchars($e); ?></li>
                                <?php endforeach; ?>
                            </ul>
                        </div>
                    <?php endif; ?>

                    <form method="POST" action="">
                        <div class="mb-3">
                            <label class="form-label">اسم المستخدم</label>
                            <input type="text" class="form-control" value="<?php echo htmlspecialchars($user['username']); ?>" disabled>
                        </div>
                        <div class="mb-3">
                            <label for="full_name" class="form-label">الاسم الكامل</label>
                            <input type="text" name="full_name" id="full_name" class="form-control"
                                   value="<?php echo htmlspecialchars($user['full_name']); ?>" required>
                        </div>
                        <div class="mb-3">
                            <label for="email" class="form-label">البريد الإلكتروني</label>
                            <input type="email" name="email" id="email" class="form-control"
                                   value="<?php echo htmlspecialchars($user['email']); ?>" required>
                        </div>
                        <div class="mb-3">
                            <label for="password" class="form-label">كلمة المرور (لتغييرها فقط)</label>
                            <input type="password" name="password" id="password" class="form-control" placeholder="••••••">
                        </div>
                        <div class="d-flex justify-content-between">
                            <button type="submit" class="btn btn-primary">تحديث الملف</button>
                            <a href="<?php echo SITE_URL; ?>/index.php" class="btn btn-secondary">إلغاء</a>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>

<?php include __DIR__ . '/includes/footer.php'; ?>