/home/ejrndhmu/tokobiolink.com/admin/mailketing-lists.php
<?php
require_once '../config/database.php';
require_once '../includes/functions.php';
require_once '../includes/mailketing.php';
startSecureSession();

// Check if user is logged in and is admin
requireRole('admin', 'login.php');

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

// Handle form submissions
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $csrf_token = $_POST['csrf_token'] ?? '';
    
    if (!verifyCSRFToken($csrf_token)) {
        $message = 'Token keamanan tidak valid.';
        $messageType = 'error';
    } else {
        $action = $_POST['action'] ?? '';
        
        switch ($action) {
            case 'select_list':
                $selected_list_id = $_POST['list_id'] ?? '';
                $selected_list_name = $_POST['list_name'] ?? '';
                
                if (empty($selected_list_id)) {
                    $message = 'List ID tidak boleh kosong';
                    $messageType = 'error';
                } else {
                    // Update settings
                    if (updateSetting('mailketing_list_id', $selected_list_id) && 
                        updateSetting('mailketing_selected_list_name', $selected_list_name)) {
                        $message = 'List Mailketing berhasil dipilih: ' . htmlspecialchars($selected_list_name);
                        $messageType = 'success';
                    } else {
                        $message = 'Gagal menyimpan pilihan list';
                        $messageType = 'error';
                    }
                }
                break;
        }
    }
}

// Get current settings
$currentListId = getSetting('mailketing_list_id', '');
$currentListName = getSetting('mailketing_selected_list_name', '');
$apiToken = getSetting('mailketing_api_token', '');

// Get lists from Mailketing
$lists = [];
$listsError = '';

if (!empty($apiToken)) {
    $mailketing = new MailketingAPI();
    $result = $mailketing->getAllLists();
    
    if ($result['status'] === 'success') {
        $lists = $result['data'];
    } else {
        $listsError = $result['message'];
    }
} else {
    $listsError = 'API Token Mailketing belum dikonfigurasi. Silakan atur di halaman Pengaturan.';
}

?>
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mailketing Lists - <?php echo getSetting('site_name', 'Panel Digital'); ?></title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <script>
        tailwind.config = {
            theme: {
                extend: {
                    colors: {
                        'blue-primary': '#1e40af',
                        'blue-secondary': '#3b82f6'
                    }
                }
            }
        }
    </script>
</head>
<body class="bg-gray-100">
    <div class="min-h-screen bg-gray-50 py-8">
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
        <!-- Header -->
        <div class="mb-8">
            <div class="flex items-center justify-between">
                <div>
                    <h1 class="text-3xl font-bold text-gray-900">Mailketing Lists</h1>
                    <p class="mt-2 text-gray-600">Pilih list Mailketing untuk sinkronisasi user</p>
                </div>
                <a href="dashboard.php?page=settings" class="bg-blue-primary hover:bg-blue-dark text-white px-4 py-2 rounded-lg transition duration-200">
                    <i class="fas fa-cog mr-2"></i>
                    Pengaturan
                </a>
            </div>
        </div>

        <!-- Messages -->
        <?php if ($message): ?>
            <div class="mb-6 p-4 rounded-lg <?php echo $messageType === 'success' ? 'bg-green-50 border border-green-200 text-green-800' : 'bg-red-50 border border-red-200 text-red-800'; ?>">
                <div class="flex items-center">
                    <i class="fas <?php echo $messageType === 'success' ? 'fa-check-circle' : 'fa-exclamation-triangle'; ?> mr-2"></i>
                    <?php echo htmlspecialchars($message); ?>
                </div>
            </div>
        <?php endif; ?>

        <!-- Current Selection -->
        <?php if (!empty($currentListId)): ?>
            <div class="mb-6 p-4 bg-blue-50 border border-blue-200 rounded-lg">
                <div class="flex items-center">
                    <i class="fas fa-info-circle text-blue-600 mr-2"></i>
                    <div>
                        <p class="text-blue-800 font-medium">List yang dipilih saat ini:</p>
                        <p class="text-blue-700"><?php echo htmlspecialchars($currentListName ?: $currentListId); ?> (ID: <?php echo htmlspecialchars($currentListId); ?>)</p>
                    </div>
                </div>
            </div>
        <?php endif; ?>

        <!-- Lists Content -->
        <div class="bg-white rounded-lg shadow-sm border border-gray-200">
            <div class="p-6 border-b border-gray-200">
                <h3 class="text-lg font-semibold text-gray-900 flex items-center">
                    <i class="fas fa-list text-orange-500 mr-2"></i>
                    Daftar List Mailketing
                </h3>
            </div>
            
            <div class="p-6">
                <?php if ($listsError): ?>
                    <div class="text-center py-8">
                        <div class="text-red-500 mb-4">
                            <i class="fas fa-exclamation-triangle text-4xl"></i>
                        </div>
                        <h3 class="text-lg font-medium text-gray-900 mb-2">Error Mengambil Data</h3>
                        <p class="text-gray-600 mb-4"><?php echo htmlspecialchars($listsError); ?></p>
                        <?php if (empty($apiToken)): ?>
                            <a href="dashboard.php?page=settings" class="bg-blue-primary hover:bg-blue-dark text-white px-4 py-2 rounded-lg transition duration-200">
                                <i class="fas fa-cog mr-2"></i>
                                Atur API Token
                            </a>
                        <?php else: ?>
                            <button onclick="location.reload()" class="bg-blue-primary hover:bg-blue-dark text-white px-4 py-2 rounded-lg transition duration-200">
                                <i class="fas fa-refresh mr-2"></i>
                                Coba Lagi
                            </button>
                        <?php endif; ?>
                    </div>
                <?php elseif (empty($lists)): ?>
                    <div class="text-center py-8">
                        <div class="text-gray-400 mb-4">
                            <i class="fas fa-inbox text-4xl"></i>
                        </div>
                        <h3 class="text-lg font-medium text-gray-900 mb-2">Tidak Ada List</h3>
                        <p class="text-gray-600">Tidak ada list yang ditemukan di akun Mailketing Anda.</p>
                    </div>
                <?php else: ?>
                    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
                        <?php foreach ($lists as $list): ?>
                            <div class="border border-gray-200 rounded-lg p-4 hover:shadow-md transition duration-200 <?php echo $list['list_id'] === $currentListId ? 'ring-2 ring-blue-primary bg-blue-50' : ''; ?>">
                                <div class="flex items-start justify-between mb-3">
                                    <div class="flex-1">
                                        <h4 class="font-medium text-gray-900 mb-1"><?php echo htmlspecialchars($list['list_name']); ?></h4>
                                        <p class="text-sm text-gray-600">ID: <?php echo htmlspecialchars($list['list_id']); ?></p>
                                    </div>
                                    <?php if ($list['list_id'] === $currentListId): ?>
                                        <span class="bg-blue-100 text-blue-800 text-xs font-medium px-2 py-1 rounded">
                                            <i class="fas fa-check mr-1"></i>
                                            Dipilih
                                        </span>
                                    <?php endif; ?>
                                </div>
                                
                                <?php if ($list['list_id'] !== $currentListId): ?>
                                    <form method="POST" class="mt-3">
                                        <input type="hidden" name="csrf_token" value="<?php echo generateCSRFToken(); ?>">
                                        <input type="hidden" name="action" value="select_list">
                                        <input type="hidden" name="list_id" value="<?php echo htmlspecialchars($list['list_id']); ?>">
                                        <input type="hidden" name="list_name" value="<?php echo htmlspecialchars($list['list_name']); ?>">
                                        <button type="submit" class="w-full bg-orange-500 hover:bg-orange-600 text-white text-sm font-medium py-2 px-3 rounded transition duration-200">
                                            <i class="fas fa-check mr-1"></i>
                                            Pilih List Ini
                                        </button>
                                    </form>
                                <?php else: ?>
                                    <div class="mt-3 text-center text-sm text-blue-600 font-medium">
                                        <i class="fas fa-star mr-1"></i>
                                        List Aktif
                                    </div>
                                <?php endif; ?>
                            </div>
                        <?php endforeach; ?>
                    </div>
                    
                    <div class="mt-6 p-4 bg-gray-50 border border-gray-200 rounded-lg">
                        <h5 class="text-sm font-medium text-gray-800 mb-2">Informasi:</h5>
                        <ul class="text-xs text-gray-600 space-y-1">
                            <li>• Pilih list dimana user akan disimpan saat sinkronisasi</li>
                            <li>• Hanya satu list yang dapat dipilih dalam satu waktu</li>
                            <li>• User baru akan otomatis ditambahkan ke list yang dipilih (jika auto sync aktif)</li>
                            <li>• Anda dapat mengubah pilihan list kapan saja</li>
                        </ul>
                    </div>
                <?php endif; ?>
            </div>
        </div>
    </div>
    </div>
</body>
</html>