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

// Check if user is logged in and is admin
if (!isset($_SESSION['user_id']) || $_SESSION['user_role'] !== 'admin') {
    header('Location: ../login.php');
    exit();
}

// Get site settings
$settings = get_all_settings($pdo);
$site_name = $settings['site_name'] ?? 'বিদ্যা নিকেতন';

// Handle test SMS submission
$test_result = null;
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['test_sms'])) {
    $test_number = $_POST['test_number'] ?? '';
    $test_message = $_POST['test_message'] ?? 'টেস্ট বার্তা: নন-মাস্কিং SMS সঠিকভাবে কাজ করছে।';
    
    if (!empty($test_number)) {
        // Load configuration before sending test SMS
        $config = non_musking_config();
        
        // Check if non-masking is enabled
        if (!($config['enabled'] ?? false)) {
            $test_result = ['success' => false, 'message' => 'Non-masking messaging is not enabled. Please enable it in Non-Masking Settings.', 'config_status' => $config];
        } else {
            // Check if API URL is configured
            if (empty($config['api_url'])) {
                $test_result = array(
                    'success' => false, 
                    'message' => 'API URL is not configured. Please configure API URL in Non-Masking Settings.', 
                    'config_status' => $config,
                    'details' => 'The API URL field is empty. You need to enter your SMS provider\'s API endpoint URL.'
                );
            } else {
                // Send test SMS
                $result = non_musking_send($pdo, array($test_number), $test_message, array(
                    'message_type' => 'test',
                    'recipient_name' => 'Test Recipient'
                ));
                        
                $test_result = $result;
            }
        }
    }
}

// Load current configuration
$config = non_musking_config();
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>নন-মাস্কিং SMS সেটিংস টেস্ট - <?php echo htmlspecialchars($site_name); ?></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">
    <link href="https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <style>
        body { 
            font-family: 'Hind Siliguri', sans-serif;
            background: #f5f7fa; 
        }
        
        .admin-header {
            background: linear-gradient(135deg, #006747 0%, #004d35 100%);
            color: #fff;
            padding: 1.5rem 0;
            margin-bottom: 2rem;
            border-bottom: 3px solid #F42A41;
        }
        
        .test-card {
            background: white;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,103,71,0.15);
            border: 1px solid #e0e0e0;
            margin-bottom: 2rem;
        }
        
        .form-label {
            font-weight: 600;
            color: #006747;
        }
        
        .btn-test {
            background: linear-gradient(135deg, #006747 0%, #004d35 100%);
            border: none;
            font-weight: 600;
            padding: 12px 30px;
        }
        
        .btn-test:hover {
            background: linear-gradient(135deg, #004d35 0%, #006747 100%);
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(0, 103, 71, 0.4);
        }
        
        .section-title {
            color: #006747;
            border-bottom: 2px solid #F42A41;
            padding-bottom: 10px;
            margin-bottom: 20px;
            font-weight: 700;
        }
        
        .form-control:focus,
        .form-select:focus {
            border-color: #006747;
            box-shadow: 0 0 0 0.25rem rgba(0, 103, 71, 0.15);
        }
        
        .config-status {
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
        }
        
        .status-ok {
            background-color: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
        }
        
        .status-warning {
            background-color: #fff3cd;
            border: 1px solid #ffeaa7;
            color: #856404;
        }
        
        .status-error {
            background-color: #f8d7da;
            border: 1px solid #f5c6cb;
            color: #721c24;
        }
    </style>
</head>
<body>
    <!-- Header -->
    <div class="admin-header">
        <div class="container">
            <div class="row align-items-center">
                <div class="col-md-8">
                    <h1><i class="fas fa-vial"></i> নন-মাস্কিং SMS সেটিংস টেস্ট</h1>
                </div>
                <div class="col-md-4 text-end">
                    <a href="dashboard.php" class="btn btn-outline-light">
                        <i class="fas fa-arrow-left"></i> ড্যাশবোর্ডে ফিরে যান
                    </a>
                </div>
            </div>
        </div>
    </div>

    <div class="container">
        <?php if ($test_result): ?>
            <div class="alert <?php echo $test_result['success'] ? 'alert-success' : 'alert-danger'; ?> alert-dismissible fade show" role="alert">
                <i class="fas <?php echo $test_result['success'] ? 'fa-check-circle' : 'fa-exclamation-triangle'; ?>"></i> 
                <?php 
                if ($test_result['success']) {
                    echo 'টেস্ট SMS সফলভাবে পাঠানো হয়েছে! ' . $test_result['sent_count'] . 'টি নম্বরে পাঠানো হয়েছে।';
                } else {
                    echo 'টেস্ট SMS পাঠানো যায়নি। ত্রুটি: ' . ($test_result['message'] ?? 'Unknown error');
                    
                    // Show additional debug info
                    if (isset($test_result['raw_response'])) {
                        echo '<br><small><strong>ডিবাগ তথ্য:</strong> Raw response: ' . substr(json_encode($test_result['raw_response']), 0, 200) . '...</small>';
                    }
                    
                    if (isset($test_result['config_status'])) {
                        echo '<br><small><strong>কনফিগারেশন স্ট্যাটাস:</strong> Enabled=' . ($test_result['config_status']['enabled'] ? 'হ্যাঁ' : 'না') . ', API URL=' . (!empty($test_result['config_status']['api_url']) ? 'আছে' : 'নেই') . '</small>';
                    }
                    
                    if (isset($test_result['details'])) {
                        echo '<br><small><strong>বিস্তারিত:</strong> ' . $test_result['details'] . '</small>';
                    }
                    
                    if (isset($test_result['http_code'])) {
                        echo '<br><small><strong>HTTP Code:</strong> ' . $test_result['http_code'] . '</small>';
                    }
                }
                ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>

        <div class="test-card">
            <div class="card-body p-4">
                <!-- Current Configuration Status -->
                <h4 class="section-title"><i class="fas fa-info-circle"></i> বর্তমান সেটিংস স্ট্যাটাস</h4>
                
                <div class="row mb-4">
                    <div class="col-md-6">
                        <div class="config-status <?php echo ($config['enabled'] ?? false) ? 'status-ok' : 'status-warning'; ?>">
                            <strong>সক্রিয় অবস্থা:</strong> 
                            <?php echo ($config['enabled'] ?? false) ? 'সক্রিয়' : 'নিষ্ক্রিয়'; ?>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="config-status <?php echo !empty($config['api_url']) ? 'status-ok' : 'status-warning'; ?>">
                            <strong>API URL:</strong> 
                            <?php echo !empty($config['api_url']) ? 'কনফিগার করা আছে' : 'কনফিগার করা নেই'; ?>
                        </div>
                    </div>
                </div>
                
                <div class="row mb-4">
                    <div class="col-md-6">
                        <div class="config-status <?php echo !empty($config['api_key']) ? 'status-ok' : 'status-warning'; ?>">
                            <strong>API কী:</strong> 
                            <?php echo !empty($config['api_key']) ? 'কনফিগার করা আছে' : 'কনফিগার করা নেই'; ?>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="config-status <?php echo !empty($config['username']) ? 'status-ok' : 'status-warning'; ?>">
                            <strong>ব্যবহারকারীর নাম:</strong> 
                            <?php echo !empty($config['username']) ? 'কনফিগার করা আছে' : 'কনফিগার করা নেই'; ?>
                        </div>
                    </div>
                </div>
                
                <div class="row mb-4">
                    <div class="col-md-6">
                        <div class="config-status <?php echo !empty($config['sender_id']) ? 'status-ok' : 'status-warning'; ?>">
                            <strong>সেন্ডার ID:</strong> 
                            <?php echo htmlspecialchars($config['sender_id'] ?? 'কনফিগার করা নেই'); ?>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="config-status <?php echo !empty($config['password']) ? 'status-ok' : 'status-warning'; ?>">
                            <strong>পাসওয়ার্ড:</strong> 
                            <?php echo !empty($config['password']) ? 'কনফিগার করা আছে' : 'কনফিগার করা নেই'; ?>
                        </div>
                    </div>
                </div>
                
                <!-- Test Form -->
                <h4 class="section-title"><i class="fas fa-paper-plane"></i> টেস্ট SMS পাঠান</h4>
                
                <form method="POST" action="">
                    <div class="row g-3 mb-4">
                        <div class="col-md-6">
                            <label for="test_number" class="form-label">টেস্ট ফোন নম্বর <span class="text-danger">*</span></label>
                            <input type="text" class="form-control" id="test_number" name="test_number" 
                                   value="<?php echo isset($_POST['test_number']) ? htmlspecialchars($_POST['test_number']) : '+88017XXXXXXXX'; ?>" 
                                   placeholder="+88017XXXXXXXX">
                            <div class="form-text">টেস্ট করার জন্য আপনার নিজের ফোন নম্বর ব্যবহার করুন</div>
                        </div>
                        
                        <div class="col-md-6">
                            <label for="test_message" class="form-label">টেস্ট বার্তা</label>
                            <input type="text" class="form-control" id="test_message" name="test_message" 
                                   value="<?php echo isset($_POST['test_message']) ? htmlspecialchars($_POST['test_message']) : 'টেস্ট বার্তা: নন-মাস্কিং SMS সঠিকভাবে কাজ করছে।'; ?>" 
                                   placeholder="টেস্ট বার্তা লিখুন...">
                        </div>
                    </div>
                    
                    <div class="text-center">
                        <button type="submit" name="test_sms" class="btn btn-test">
                            <i class="fas fa-vial"></i> সেটিংস টেস্ট করুন
                        </button>
                    </div>
                </form>
                
                <!-- Instructions -->
                <div class="row mt-4">
                    <div class="col-12">
                        <div class="alert alert-info">
                            <i class="fas fa-info-circle"></i> 
                            <strong>টেস্ট করার নির্দেশাবলী:</strong>
                            <ol>
                                <li>প্রথমে নিশ্চিত করুন যে সেটিংস সঠিকভাবে কনফিগার করা হয়েছে (উপরের স্ট্যাটাস দেখুন)</li>
                                <li>টেস্ট করার জন্য আপনার নিজের ফোন নম্বর ব্যবহার করুন</li>
                                <li>"সেটিংস টেস্ট করুন" বাটনে ক্লিক করুন</li>
                                <li>আপনার ফোনে টেস্ট বার্তা পেলে সেটিংস সঠিকভাবে কাজ করছে বুঝবেন</li>
                            </ol>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>