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

// Function to get setting from admin settings table
function get_admin_setting($pdo, $key, $default = null) {
    try {
        $stmt = $pdo->prepare("SELECT setting_key, setting_value FROM settings WHERE setting_key = ? LIMIT 1");
        $stmt->execute([$key]);
        $row = $stmt->fetch();
        if ($row && !empty($row['setting_value'])) {
            return ['key' => $row['setting_key'], 'value' => $row['setting_value']];
        }
    } catch (Exception $e) {
        return ['error' => $e->getMessage()];
    }
    return $default;
}

echo "<!DOCTYPE html>
<html lang='bn'>
<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.1.3/dist/css/bootstrap.min.css' rel='stylesheet'>
    <link href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container mt-4'>
        <h2><i class='fas fa-diagnoses'></i> ফি পাসওয়ার্ড ডায়াগনোস্টিক</h2>
        
        <div class='card mt-4'>
            <div class='card-header'>
                <h5><i class='fas fa-database'></i> ডাটাবেস স্ট্যাটাস</h5>
            </div>
            <div class='card-body'>";

// Check database connection
try {
    $pdo->query("SELECT 1");
    echo "<div class='alert alert-success'>
            <i class='fas fa-check-circle'></i> ডাটাবেস সংযোগ সফল
          </div>";
} catch (Exception $e) {
    echo "<div class='alert alert-danger'>
            <i class='fas fa-times-circle'></i> ডাটাবেস সংযোগ ব্যর্থ: " . htmlspecialchars($e->getMessage()) . "
          </div>";
}

echo "</div></div>";

// Check fee password setting
echo "<div class='card mt-4'>
        <div class='card-header'>
            <h5><i class='fas fa-key'></i> ফি পাসওয়ার্ড স্ট্যাটাস</h5>
        </div>
        <div class='card-body'>";

$fee_password_data = get_admin_setting($pdo, 'fee_password');

if (isset($fee_password_data['error'])) {
    echo "<div class='alert alert-danger'>
            <i class='fas fa-exclamation-triangle'></i> ডাটাবেস কোয়েরি ত্রুটি: " . htmlspecialchars($fee_password_data['error']) . "
          </div>";
} elseif ($fee_password_data) {
    echo "<div class='alert alert-info'>
            <i class='fas fa-lock'></i> ফি পাসওয়ার্ড সেট করা আছে<br>
            <strong>সেটিংস কী:</strong> " . htmlspecialchars($fee_password_data['key']) . "<br>
            <strong>হ্যাশ মান:</strong> " . htmlspecialchars(substr($fee_password_data['value'], 0, 20)) . "...
          </div>";
          
    // Check if password is valid (try to verify with a test password)
    $test_passwords = ['admin123', '123456', 'password', 'test123'];
    $valid_password_found = false;
    
    echo "<h6>পাসওয়ার্ড টেস্ট:</h6>";
    foreach ($test_passwords as $test_pass) {
        if (password_verify($test_pass, $fee_password_data['value'])) {
            echo "<div class='alert alert-success'>
                    <i class='fas fa-check'></i> পাসওয়ার্ড '$test_pass' সঠিক!
                  </div>";
            $valid_password_found = true;
            break;
        }
    }
    
    if (!$valid_password_found) {
        echo "<div class='alert alert-warning'>
                <i class='fas fa-question-circle'></i> কোন ডিফল্ট পাসওয়ার্ড মিলেনি। আপনি যে পাসওয়ার্ডটি সেট করেছেন সেটি ব্যবহার করুন।
              </div>";
    }
} else {
    echo "<div class='alert alert-warning'>
            <i class='fas fa-exclamation-circle'></i> ফি পাসওয়ার্ড এখনও সেট করা হয়নি!<br>
            <a href='../admin/settings.php' class='btn btn-primary btn-sm mt-2'>
                <i class='fas fa-cog'></i> এখন সেট করুন
            </a>
          </div>";
}

echo "</div></div>";

// Check session status
echo "<div class='card mt-4'>
        <div class='card-header'>
            <h5><i class='fas fa-user-check'></i> সেশন স্ট্যাটাস</h5>
        </div>
        <div class='card-body'>";

echo "<p><strong>ফি পাসওয়ার্ড ভেরিফাইড সেশন:</strong> " . 
     (isset($_SESSION['fee_password_verified']) ? 
      ($_SESSION['fee_password_verified'] ? 
       "<span class='text-success'>হ্যাঁ (সত্য)</span>" : 
       "<span class='text-warning'>হ্যাঁ (মিথ্যা)</span>") : 
      "<span class='text-muted'>না (সেট করা নেই)</span>") . "</p>";

echo "<p><strong>সেশন ইউজার আইডি:</strong> " . 
     (isset($_SESSION['user_id']) ? 
      "<span class='text-success'>" . htmlspecialchars($_SESSION['user_id']) . "</span>" : 
      "<span class='text-danger'>সেট করা নেই</span>") . "</p>";

echo "<p><strong>সেশন ইউজার রোল:</strong> " . 
     (isset($_SESSION['user_role']) ? 
      "<span class='text-success'>" . htmlspecialchars($_SESSION['user_role']) . "</span>" : 
      "<span class='text-danger'>সেট করা নেই</span>") . "</p>";

if (isset($_GET['clear_session'])) {
    unset($_SESSION['fee_password_verified']);
    echo "<div class='alert alert-info mt-2'>
            <i class='fas fa-trash'></i> ফি পাসওয়ার্ড সেশন মুছে ফেলা হয়েছে
          </div>";
}

echo "<div class='mt-3'>
        <a href='?clear_session=1' class='btn btn-warning'>
            <i class='fas fa-trash'></i> ফি পাসওয়ার্ড সেশন মুছুন
        </a>
        <a href='student_fees.php' class='btn btn-primary'>
            <i class='fas fa-money-bill-wave'></i> ফি সংগ্রহ পেজে যান
        </a>
      </div>";

echo "</div></div>";

// Show all settings for debugging
echo "<div class='card mt-4'>
        <div class='card-header'>
            <h5><i class='fas fa-cogs'></i> সমস্ত সেটিংস (ডিবাগিংয়ের জন্য)</h5>
        </div>
        <div class='card-body'>";

try {
    $stmt = $pdo->query("SELECT setting_key, setting_value FROM settings ORDER BY setting_key");
    $all_settings = $stmt->fetchAll();
    
    if (empty($all_settings)) {
        echo "<p class='text-muted'>কোন সেটিংস পাওয়া যায়নি</p>";
    } else {
        echo "<div class='table-responsive'>
                <table class='table table-sm table-striped'>
                    <thead>
                        <tr>
                            <th>সেটিংস কী</th>
                            <th>মান</th>
                        </tr>
                    </thead>
                    <tbody>";
        
        foreach ($all_settings as $setting) {
            echo "<tr>
                    <td>" . htmlspecialchars($setting['setting_key']) . "</td>
                    <td>" . (strlen($setting['setting_value']) > 50 ? 
                             htmlspecialchars(substr($setting['setting_value'], 0, 50)) . '...' : 
                             htmlspecialchars($setting['setting_value'])) . "</td>
                  </tr>";
        }
        
        echo "</tbody></table></div>";
    }
} catch (Exception $e) {
    echo "<div class='alert alert-danger'>
            সেটিংস লোড করতে ত্রুটি: " . htmlspecialchars($e->getMessage()) . "
          </div>";
}

echo "</div></div>";

echo "</div>
</body>
</html>";
?>