<?php
// شروع session قبل از هر چیز
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

require_once '../config.php';

// بررسی لاگین
if (!isLoggedIn()) {
    redirect('../login.php');
}

// بررسی دسترسی ادمین
if (!isAdmin()) {
    setMessage('دسترسی غیرمجاز', 'error');
    redirect('../login.php');
}

$page_title = 'تغییر رمز عبور';

$error = '';
$success = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $current_password = $_POST['current_password'] ?? '';
    $new_password = $_POST['new_password'] ?? '';
    $confirm_password = $_POST['confirm_password'] ?? '';
    
    if (empty($current_password) || empty($new_password) || empty($confirm_password)) {
        $error = 'لطفاً تمام فیلدها را پر کنید';
    } elseif ($new_password !== $confirm_password) {
        $error = 'رمز عبور جدید و تکرار آن یکسان نیستند';
    } elseif (strlen($new_password) < 6) {
        $error = 'رمز عبور باید حداقل 6 کاراکتر باشد';
    } else {
        $stmt = $pdo->prepare("SELECT * FROM admins WHERE id = ?");
        $stmt->execute([$_SESSION['user_id']]);
        $admin = $stmt->fetch();
        
        if ($admin && verifyPassword($current_password, $admin['password'])) {
            $new_hash = hashPassword($new_password);
            $stmt = $pdo->prepare("UPDATE admins SET password = ? WHERE id = ?");
            $stmt->execute([$new_hash, $_SESSION['user_id']]);
            $success = 'رمز عبور با موفقیت تغییر کرد';
        } else {
            $error = 'رمز عبور فعلی اشتباه است';
        }
    }
}

require_once '../includes/header.php';
?>

<div class="card admin-main-card">
    <div class="card-header">
        <h5 class="mb-0">تغییر رمز عبور</h5>
    </div>
    <div class="card-body">
        <?php if ($error): ?>
            <div class="alert alert-danger"><?= htmlspecialchars($error) ?></div>
        <?php endif; ?>
        
        <?php if ($success): ?>
            <div class="alert alert-success"><?= htmlspecialchars($success) ?></div>
        <?php endif; ?>
        
        <form method="POST">
            <div class="mb-3">
                <label class="form-label">رمز عبور فعلی</label>
                <input type="password" name="current_password" class="form-control" required>
            </div>
            
            <div class="mb-3">
                <label class="form-label">رمز عبور جدید</label>
                <input type="password" name="new_password" class="form-control" required minlength="6">
            </div>
            
            <div class="mb-3">
                <label class="form-label">تکرار رمز عبور جدید</label>
                <input type="password" name="confirm_password" class="form-control" required minlength="6">
            </div>
            
            <button type="submit" class="btn btn-primary">تغییر رمز عبور</button>
            <a href="dashboard.php" class="btn btn-secondary">انصراف</a>
        </form>
    </div>
</div>

<?php require_once '../includes/footer.php'; ?>
