<?php
/**
 * SMS সেটিংস পেজ - Admin Panel
 */

session_start();

// Check admin role - support both new and legacy session variables
$user_role = $_SESSION['user_role'] ?? $_SESSION['role'] ?? '';
if (!isset($_SESSION['user_id']) || ($user_role !== 'admin')) {
    header('Location: ../login.php');
    exit;
}

require_once(__DIR__ . '/../config/database.php');

$message = '';
$messageType = '';

// বর্তমান সেটিংস নিন
$stmt = $pdo->prepare("SELECT key_name, value FROM sms_settings");
$stmt->execute();
$settings = [];
while ($row = $stmt->fetch()) {
    $settings[$row['key_name']] = $row['value'];
}

// সেটিংস আপডেট করুন
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $apiKey = $_POST['api_key'] ?? '';
        $callerId = $_POST['caller_id'] ?? '1234';
        $sendToGuardian = isset($_POST['send_to_guardian']) ? '1' : '0';
        $maxRetries = intval($_POST['max_retries'] ?? 3);
        $rateLimit = intval($_POST['rate_limit'] ?? 60);
        
        // API Key আপডেট করুন
        $updateStmt = $pdo->prepare("
            INSERT INTO sms_settings (key_name, value, data_type)
            VALUES (?, ?, ?)
            ON DUPLICATE KEY UPDATE value = VALUES(value), updated_at = NOW()
        ");
        
        $settings_to_update = [
            ['api_key', $apiKey, 'string'],
            ['caller_id', $callerId, 'string'],
            ['send_to_guardian', $sendToGuardian, 'boolean'],
            ['max_retries', (string)$maxRetries, 'integer'],
            ['rate_limit', (string)$rateLimit, 'integer'],
        ];
        
        foreach ($settings_to_update as $setting) {
            $updateStmt->execute($setting);
        }
        
        // রিফ্রেশ করুন
        $stmt = $pdo->prepare("SELECT key_name, value FROM sms_settings");
        $stmt->execute();
        $settings = [];
        while ($row = $stmt->fetch()) {
            $settings[$row['key_name']] = $row['value'];
        }
        
        $message = 'সেটিংস সফলভাবে আপডেট হয়েছে!';
        $messageType = 'success';
        
    } catch (Exception $e) {
        $message = 'Error: ' . $e->getMessage();
        $messageType = 'error';
    }
}

// API Key টেস্ট করুন
if ($_POST['action'] ?? '' === 'test_api') {
    try {
        require_once(__DIR__ . '/../classes/SMSService.php');
        
        $apiKey = $settings['api_key'] ?? '';
        if (empty($apiKey)) {
            $message = 'API Key কনফিগার করা হয়নি';
            $messageType = 'error';
        } else {
            try {
                $smsService = new SMSService($apiKey, $settings['caller_id'] ?? '1234');
                $balance = $smsService->getBalance();
                
                if ($balance['success']) {
                    $message = '✓ API সংযোগ সফল! আপনার বর্তমান ব্যালেন্স: ' . 
                               (isset($balance['balance']) ? $balance['balance'] . ' টাকা' : 'জানা যায়নি');
                    $messageType = 'success';
                } else {
                    $message = '✗ API ত্রুটি: ' . ($balance['message'] ?? 'অজানা ত্রুটি');
                    $messageType = 'error';
                }
            } catch (Exception $e) {
                $message = '✗ সংযোগ ব্যর্থ: ' . $e->getMessage();
                $messageType = 'error';
            }
        }
    } catch (Exception $e) {
        $message = 'Error: ' . $e->getMessage();
        $messageType = 'error';
    }
}
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>এসএমএস সেটিংস - Admin Panel</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            min-height: 100vh;
            padding: 20px;
        }
        
        .container {
            max-width: 800px;
            margin: 0 auto;
        }
        
        .card {
            background: white;
            border-radius: 10px;
            padding: 30px;
            margin-bottom: 20px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        
        .header {
            margin-bottom: 30px;
        }
        
        .header h1 {
            color: #333;
            margin-bottom: 5px;
        }
        
        .header p {
            color: #666;
            font-size: 14px;
        }
        
        .alert {
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 20px;
            border-left: 4px solid;
        }
        
        .alert.success {
            background: #d4edda;
            color: #155724;
            border-color: #28a745;
        }
        
        .alert.error {
            background: #f8d7da;
            color: #721c24;
            border-color: #f5c6cb;
        }
        
        .form-group {
            margin-bottom: 20px;
        }
        
        label {
            display: block;
            margin-bottom: 8px;
            color: #333;
            font-weight: 500;
        }
        
        input[type="text"],
        input[type="email"],
        input[type="number"],
        input[type="password"],
        textarea,
        select {
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
            font-size: 14px;
            font-family: inherit;
            transition: border-color 0.3s;
        }
        
        input[type="text"]:focus,
        input[type="email"]:focus,
        input[type="number"]:focus,
        input[type="password"]:focus,
        textarea:focus,
        select:focus {
            outline: none;
            border-color: #667eea;
            box-shadow: 0 0 5px rgba(102, 126, 234, 0.3);
        }
        
        .checkbox-group {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        input[type="checkbox"] {
            width: 20px;
            height: 20px;
            cursor: pointer;
        }
        
        .checkbox-group label {
            margin-bottom: 0;
            cursor: pointer;
        }
        
        .button-group {
            display: flex;
            gap: 10px;
            margin-top: 30px;
        }
        
        button {
            padding: 12px 20px;
            border: none;
            border-radius: 5px;
            font-size: 16px;
            cursor: pointer;
            transition: all 0.3s;
            font-weight: 500;
        }
        
        .btn-primary {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
        }
        
        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
        }
        
        .btn-test {
            background: #28a745;
            color: white;
        }
        
        .btn-test:hover {
            background: #218838;
        }
        
        .info-box {
            background: #e3f2fd;
            border-left: 4px solid #2196F3;
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 20px;
        }
        
        .info-box h4 {
            color: #1976D2;
            margin-bottom: 10px;
        }
        
        .info-box p {
            color: #0D47A1;
            font-size: 14px;
            margin-bottom: 5px;
        }
        
        .info-box a {
            color: #1976D2;
            text-decoration: none;
        }
        
        .info-box a:hover {
            text-decoration: underline;
        }
        
        .api-info {
            background: #fff8e1;
            border-left: 4px solid #ffc107;
            padding: 15px;
            border-radius: 5px;
            margin-top: 20px;
        }
        
        .api-info h4 {
            color: #f57f17;
            margin-bottom: 10px;
        }
        
        .api-info p {
            color: #e65100;
            font-size: 14px;
            margin-bottom: 8px;
        }
        
        code {
            background: #f5f5f5;
            padding: 2px 6px;
            border-radius: 3px;
            font-family: 'Courier New', monospace;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="card header">
            <h1>⚙️ এসএমএস সেটিংস</h1>
            <p>BulkSMSDhaka API কনফিগারেশন এবং সেটিংস</p>
        </div>
        
        <?php if ($message): ?>
            <div class="alert <?php echo $messageType; ?>">
                <?php echo htmlspecialchars($message); ?>
            </div>
        <?php endif; ?>
        
        <!-- API তথ্য -->
        <div class="card">
            <h2 style="margin-bottom: 20px; color: #333;">📋 API তথ্য</h2>
            
            <div class="info-box">
                <h4>Bulk SMS Dhaka API</h4>
                <p><strong>ওয়েবসাইট:</strong> <a href="https://bulksmsdhaka.net" target="_blank">https://bulksmsdhaka.net</a></p>
                <p><strong>ডকুমেন্টেশন:</strong> <a href="https://bulksmsdhaka.net/bulk-sms-api-in-bangladesh" target="_blank">API ডকুমেন্টেশন</a></p>
                <p><strong>সাপোর্ট:</strong> +8801682314951 | bulksmsdhaka@gmail.com</p>
                <p><strong>SMS রেট:</strong> ০.৩৪ টাকা (Non-Masking), ০.৫৫ টাকা (Masking)</p>
            </div>
        </div>
        
        <!-- কনফিগারেশন ফর্ম -->
        <div class="card">
            <h2 style="margin-bottom: 20px; color: #333;">🔧 কনফিগারেশন</h2>
            
            <form method="POST">
                <div class="form-group">
                    <label for="api_key">API Key *</label>
                    <input type="password" id="api_key" name="api_key" 
                           value="<?php echo htmlspecialchars($settings['api_key'] ?? ''); ?>"
                           placeholder="আপনার BulkSMSDhaka API Key এখানে পেস্ট করুন"
                           required>
                    <small style="color: #666; margin-top: 5px; display: block;">
                        আপনার API Key <a href="https://bulksmsdhaka.net/login" target="_blank">BulkSMSDhaka পোর্টাল</a> থেকে পান
                    </small>
                </div>
                
                <div class="form-group">
                    <label for="caller_id">Caller ID</label>
                    <input type="text" id="caller_id" name="caller_id" 
                           value="<?php echo htmlspecialchars($settings['caller_id'] ?? '1234'); ?>"
                           placeholder="1234">
                    <small style="color: #666; margin-top: 5px; display: block;">
                        আপনার নিবন্ধিত Caller ID অথবা ব্র্যান্ড নাম
                    </small>
                </div>
                
                <div class="form-group">
                    <div class="checkbox-group">
                        <input type="checkbox" id="send_to_guardian" name="send_to_guardian" 
                               <?php echo ($settings['send_to_guardian'] ?? '0') === '1' ? 'checked' : ''; ?>>
                        <label for="send_to_guardian">ডিফল্টভাবে গার্ডিয়ানকেও বার্তা পাঠান</label>
                    </div>
                </div>
                
                <div class="form-group">
                    <label for="max_retries">সর্বাধিক Retry প্রচেষ্টা</label>
                    <input type="number" id="max_retries" name="max_retries" 
                           value="<?php echo htmlspecialchars($settings['max_retries'] ?? '3'); ?>"
                           min="1" max="10">
                </div>
                
                <div class="form-group">
                    <label for="rate_limit">প্রতি মিনিটে সর্বাধিক SMS</label>
                    <input type="number" id="rate_limit" name="rate_limit" 
                           value="<?php echo htmlspecialchars($settings['rate_limit'] ?? '60'); ?>"
                           min="1" max="1000">
                </div>
                
                <div class="button-group">
                    <button type="submit" class="btn-primary">✓ সেটিংস সংরক্ষণ করুন</button>
                    <button type="submit" name="action" value="test_api" class="btn-test">🔗 API সংযোগ টেস্ট করুন</button>
                </div>
            </form>
            
            <div class="api-info">
                <h4>💡 কীভাবে API Key পাবেন?</h4>
                <p>1. <a href="https://bulksmsdhaka.net/register" target="_blank" style="text-decoration: underline;">BulkSMSDhaka তে অ্যাকাউন্ট তৈরি করুন</a></p>
                <p>2. আপনার অ্যাকাউন্টে লগইন করুন</p>
                <p>3. সেটিংস/API থেকে API Key জেনারেট করুন</p>
                <p>4. API Key এখানে পেস্ট করুন</p>
                <p>5. "API সংযোগ টেস্ট করুন" ক্লিক করে সংযোগ যাচাই করুন</p>
            </div>
        </div>
        
        <!-- সহায়ক লিঙ্ক -->
        <div class="card">
            <h2 style="margin-bottom: 20px; color: #333;">🔗 দ্রুত লিঙ্ক</h2>
            <ul style="list-style: none; padding: 0;">
                <li style="margin-bottom: 10px;">
                    <a href="send-sms.php" style="color: #667eea; text-decoration: none; font-weight: 500;">
                        📱 এসএমএস পাঠান
                    </a>
                </li>
                <li style="margin-bottom: 10px;">
                    <a href="../admin/sms-logs.php" style="color: #667eea; text-decoration: none; font-weight: 500;">
                        📊 এসএমএস লগ দেখুন
                    </a>
                </li>
                <li style="margin-bottom: 10px;">
                    <a href="https://bulksmsdhaka.net/login" target="_blank" style="color: #667eea; text-decoration: none; font-weight: 500;">
                        🌐 BulkSMSDhaka পোর্টাল
                    </a>
                </li>
            </ul>
        </div>
    </div>
</body>
</html>
