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

// Only admins
if (!isset($_SESSION['user_id']) || $_SESSION['user_role'] !== 'admin') {
    header('Location: ../login.php');
    exit();
}

$user_role = $_SESSION['user_role'] ?? 'guest';
$user_name = $_SESSION['username'] ?? 'Unknown';

// Get system name for branding
$system_name = get_system_name($pdo);

// Process form submission
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $enabled = isset($_POST['bkash_enabled']) ? '1' : '0';
        $app_key = trim($_POST['bkash_app_key']);
        $app_secret = trim($_POST['bkash_app_secret']);
        $username = trim($_POST['bkash_username']);
        $password = trim($_POST['bkash_password']);
        $sandbox_mode = isset($_POST['bkash_sandbox_mode']) ? '1' : '0';
        
        // Validate required fields when enabled
        if ($enabled === '1') {
            if (empty($app_key)) {
                throw new Exception("App Key is required when bKash Payment is enabled");
            }
            if (empty($app_secret)) {
                throw new Exception("App Secret is required when bKash Payment is enabled");
            }
            if (empty($username)) {
                throw new Exception("Username is required when bKash Payment is enabled");
            }
            if (empty($password)) {
                throw new Exception("Password is required when bKash Payment is enabled");
            }
        }
        
        // Update settings
        $settings = [
            'bkash_enabled' => $enabled,
            'bkash_app_key' => $app_key,
            'bkash_app_secret' => $app_secret,
            'bkash_username' => $username,
            'bkash_password' => $password,
            'bkash_sandbox_mode' => $sandbox_mode
        ];
        
        foreach ($settings as $key => $value) {
            $stmt = $pdo->prepare("
                INSERT INTO settings (setting_key, setting_value) 
                VALUES (?, ?) 
                ON DUPLICATE KEY UPDATE setting_value = VALUES(setting_value)
            ");
            $stmt->execute([$key, $value]);
        }
        
        $success_message = "Settings saved successfully!";
    } catch (Exception $e) {
        $error_message = "Error saving settings: " . $e->getMessage();
    }
}

// Load current settings
try {
    $stmt = $pdo->query("SELECT setting_key, setting_value FROM settings WHERE setting_key LIKE 'bkash_%'");
    $settings = $stmt->fetchAll(PDO::FETCH_KEY_PAIR);
} catch (Exception $e) {
    $settings = [];
    $error_message = "Error loading settings: " . $e->getMessage();
}

// Create required tables
require_once '../includes/bKashPayment.php';
create_bkash_tables();
?>
<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>bKash পেমেন্ট সেটিংস - <?php echo htmlspecialchars($system_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">
</head>
<body>
    <div class="sidebar-container">
        <?php echo renderSidebar($user_role, $user_name); ?>
        
        <div class="main-content">
            <header class="navbar navbar-expand-lg navbar-dark bg-primary">
                <div class="container-fluid">
                    <button class="sidebar-toggle" onclick="toggleSidebar()">
                        <i class="fas fa-bars"></i>
                    </button>
                    <div class="navbar-nav ms-auto">
                        <a class="nav-link" href="../logout.php"><i class="fas fa-sign-out-alt"></i> লগআউট</a>
                    </div>
                </div>
            </header>

<div class="container-fluid mt-4">
    <div class="row">
        <div class="col-md-8 mx-auto">
            <div class="card">
                <div class="card-header">
                    <h5><i class="fas fa-cog"></i> bKash পেমেন্ট সেটিংস</h5>
                </div>
                <div class="card-body">
                    <?php if (isset($success_message)): ?>
                        <div class="alert alert-success">
                            <i class="fas fa-check-circle"></i> <?= htmlspecialchars($success_message) ?>
                        </div>
                    <?php endif; ?>
                    
                    <?php if (isset($error_message)): ?>
                        <div class="alert alert-danger">
                            <i class="fas fa-exclamation-triangle"></i> <?= htmlspecialchars($error_message) ?>
                        </div>
                    <?php endif; ?>
                    
                    <form method="POST">
                        <div class="mb-3 form-check form-switch">
                            <input type="checkbox" class="form-check-input" id="bkash_enabled" name="bkash_enabled" <?= (isset($settings['bkash_enabled']) && $settings['bkash_enabled'] == '1') ? 'checked' : '' ?>>
                            <label class="form-check-label" for="bkash_enabled">bKash পেমেন্ট গেটওয়ে সক্রিয় করুন</label>
                        </div>
                        
                        <div class="mb-3 form-check form-switch">
                            <input type="checkbox" class="form-check-input" id="bkash_sandbox_mode" name="bkash_sandbox_mode" <?= (isset($settings['bkash_sandbox_mode']) && $settings['bkash_sandbox_mode'] == '1') ? 'checked' : '' ?>>
                            <label class="form-check-label" for="bkash_sandbox_mode">স্যান্ডবক্স মোড (টেস্টিংয়ের জন্য)</label>
                        </div>
                        
                        <div class="mb-3">
                            <label for="bkash_app_key" class="form-label">App Key</label>
                            <input type="text" class="form-control" id="bkash_app_key" name="bkash_app_key" value="<?= htmlspecialchars($settings['bkash_app_key'] ?? '') ?>">
                            <div class="form-text">আপনার bKash App Key প্রবেস করান</div>
                        </div>
                        
                        <div class="mb-3">
                            <label for="bkash_app_secret" class="form-label">App Secret</label>
                            <input type="password" class="form-control" id="bkash_app_secret" name="bkash_app_secret" value="<?= htmlspecialchars($settings['bkash_app_secret'] ?? '') ?>">
                            <div class="form-text">আপনার bKash App Secret প্রবেস করান</div>
                        </div>
                        
                        <div class="mb-3">
                            <label for="bkash_username" class="form-label">Username</label>
                            <input type="text" class="form-control" id="bkash_username" name="bkash_username" value="<?= htmlspecialchars($settings['bkash_username'] ?? '') ?>">
                            <div class="form-text">আপনার bKash Merchant Username প্রবেস করান</div>
                        </div>
                        
                        <div class="mb-3">
                            <label for="bkash_password" class="form-label">Password</label>
                            <input type="password" class="form-control" id="bkash_password" name="bkash_password" value="<?= htmlspecialchars($settings['bkash_password'] ?? '') ?>">
                            <div class="form-text">আপনার bKash Merchant Password প্রবেস করান</div>
                        </div>
                        
                        <div class="alert alert-info">
                            <h6><i class="fas fa-info-circle"></i> নির্দেশনা</h6>
                            <ul>
                                <li>bKash মার্চেন্ট একাউন্ট থেকে সকল তথ্য সঠিকভাবে প্রবেস করান</li>
                                <li>টেস্টিংয়ের জন্য স্যান্ডবক্স মোড সক্রিয় রাখুন</li>
                                <li>প্রোডাকশনের জন্য স্যান্ডবক্স মোড নিষ্ক্রিয় করুন</li>
                                <li>সেটিংস সংরক্ষণ করার পর পেমেন্ট গেটওয়ে কাজ করবে</li>
                            </ul>
                        </div>
                        
                        <div class="d-grid gap-2">
                            <button type="submit" class="btn btn-primary">
                                <i class="fas fa-save"></i> সেটিংস সংরক্ষণ করুন
                            </button>
                            <a href="index.php" class="btn btn-secondary">
                                <i class="fas fa-arrow-left"></i> ড্যাশবোর্ডে ফিরে যান
                            </a>
                        </div>
                    </form>
                </div>
            </div>
            
            <div class="card mt-4">
                <div class="card-header">
                    <h5><i class="fas fa-info-circle"></i> কনফিগারেশন তথ্য</h5>
                </div>
                <div class="card-body">
                    <h6>বর্তমান কনফিগারেশন:</h6>
                    <ul>
                        <li><strong>সক্রিয়:</strong> <?= (isset($settings['bkash_enabled']) && $settings['bkash_enabled'] == '1') ? 'হ্যাঁ' : 'না' ?></li>
                        <li><strong>স্যান্ডবক্স মোড:</strong> <?= (isset($settings['bkash_sandbox_mode']) && $settings['bkash_sandbox_mode'] == '1') ? 'হ্যাঁ' : 'না' ?></li>
                        <li><strong>App Key:</strong> <?= !empty($settings['bkash_app_key']) ? substr($settings['bkash_app_key'], 0, 10) . '...' . substr($settings['bkash_app_key'], -5) : 'সেট করা হয়নি' ?></li>
                        <li><strong>App Secret:</strong> <?= !empty($settings['bkash_app_secret']) ? 'সেট করা হয়েছে' : 'সেট করা হয়নি' ?></li>
                        <li><strong>Username:</strong> <?= !empty($settings['bkash_username']) ? htmlspecialchars($settings['bkash_username']) : 'সেট করা হয়নি' ?></li>
                    </ul>
                    
                    <h6>ইন্টিগ্রেশন বিস্তারিত:</h6>
                    <ul>
                        <li>শিক্ষার্থীরা bKash এর মাধ্যমে সরাসরি পেমেন্ট করতে পারবে</li>
                        <li>"আমার ফি" পেজে বকেয়া থাকলে পেমেন্ট বাটন দেখাবে</li>
                        <li>সফল পেমেন্টের পর ফি রেকর্ড স্বয়ংক্রিয়ভাবে আপডেট হবে</li>
                        <li>লেনদেন ID ভবিষ্যতের জন্য সংরক্ষণ করা হবে</li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
  <script>
    function toggleSidebar() {
      const sidebar = document.getElementById('sidebar');
      const toggleBtn = document.querySelector('.sidebar-toggle');
      
      if (sidebar.classList.contains('collapsed')) {
        sidebar.classList.remove('collapsed');
        toggleBtn.innerHTML = '<i class="fas fa-bars"></i>';
      } else {
        sidebar.classList.add('collapsed');
        toggleBtn.innerHTML = '<i class="fas fa-bars"></i>';
      }
      
      document.querySelector('.main-content').classList.toggle('expanded');
    }
  </script>
</div> <!-- Close main-content -->
</div> <!-- Close sidebar-container -->
</body>
</html>