<?php
require_once '../includes/constants.php';
require_once '../includes/session.php';

if (!isset($_SESSION['admin_id']) || !in_array($_SESSION['admin_role'], ['manager','superadmin'])) {
    die("Access denied");
}
?>
<!DOCTYPE html>
<html>
<head>
    <title><?php echo SITE_TITLE . ' | Advertiser Manager</title>
    <link rel="stylesheet" href="css/admin.css">
</head>
<body>
<div class="container">
<?php
// Handle new advertiser
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['name'])) {
    $stmt = $pdo->prepare("INSERT INTO advertisers (name, email, contact_name, phone, vertical, status) 
                           VALUES (?, ?, ?, ?, ?, ?)");
    $stmt->execute([
        $_POST['name'],
        $_POST['email'],
        $_POST['contact_name'],
        $_POST['phone'],
        $_POST['vertical'],
        $_POST['status']
    ]);
    log_admin_action($pdo, 'create_advertiser', "Created advertiser {$_POST['name']}");
    echo "<p class='success'>✅ Advertiser created.</p>";
}

// Filters
$status = $_GET['status'] ?? '';
$start = $_GET['start'] ?? '';
$end = $_GET['end'] ?? '';
$page = max(1, intval($_GET['page'] ?? 1));
$limit = 25;
$offset = ($page - 1) * $limit;

$where = [];
$params = [];

if ($status) {
    $where[] = "status = ?";
    $params[] = $status;
}
if ($start && $end) {
    $where[] = "created_at BETWEEN ? AND ?";
    $params[] = $start;
    $params[] = $end;
}

$whereClause = $where ? "WHERE " . implode(" AND ", $where) : "";

// Count total
$countStmt = $pdo->prepare("SELECT COUNT(*) FROM advertisers $whereClause");
$countStmt->execute($params);
$totalRows = $countStmt->fetchColumn();
$totalPages = ceil($totalRows / $limit);

// Fetch advertisers
$query = "SELECT * FROM advertisers $whereClause ORDER BY created_at DESC LIMIT $limit OFFSET $offset";
$stmt = $pdo->prepare($query);
$stmt->execute($params);
$advertisers = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Export CSV
if (isset($_GET['export'])) {
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename=advertisers.csv');
    echo "Name,Contact,Email,Phone,Vertical,Status,Created\n";
    foreach ($advertisers as $a) {
        echo "\"{$a['name']}\",\"{$a['contact_name']}\",\"{$a['email']}\",\"{$a['phone']}\",\"{$a['vertical']}\",\"{$a['status']}\",\"{$a['created_at']}\"\n";
    }
    exit;
}

// UI
echo "<h2>🏢 Advertiser Manager</h2>
<form method='post'>
    <input name='name' placeholder='Advertiser name' required>
    <input name='email' placeholder='Email'>
    <input name='contact_name' placeholder='Contact person'>
    <input name='phone' placeholder='Phone'>
    <input name='vertical' placeholder='Vertical (e.g. Finance, Dating)'>
    <select name='status'>
        <option value='active'>Active</option>
        <option value='paused'>Paused</option>
        <option value='terminated'>Terminated</option>
    </select>
    <button type='submit'>Create Advertiser</button>
</form>";

echo "<form method='get'>
    <select name='status'>
        <option value=''>All Statuses</option>
        <option value='active'" . ($status == 'active' ? ' selected' : '') . ">Active</option>
        <option value='paused'" . ($status == 'paused' ? ' selected' : '') . ">Paused</option>
        <option value='terminated'" . ($status == 'terminated' ? ' selected' : '') . ">Terminated</option>
    </select>
    <label>Start: <input type='date' name='start' value='$start'></label>
    <label>End: <input type='date' name='end' value='$end'></label>
    <button type='submit'>Filter</button>
    <button onclick=\"window.location='?status=$status&start=$start&end=$end&export=1';return false;\">Export CSV</button>
</form>";

echo "<table><tr>
    <th>Name</th><th>Contact</th><th>Email</th><th>Phone</th><th>Vertical</th><th>Status</th><th>Created</th>
</tr>";
foreach ($advertisers as $a) {
    echo "<tr>
        <td>" . htmlspecialchars($a['name']) . "</td>
        <td>" . htmlspecialchars($a['contact_name']) . "</td>
        <td>" . htmlspecialchars($a['email']) . "</td>
        <td>" . htmlspecialchars($a['phone']) . "</td>
        <td>" . htmlspecialchars($a['vertical']) . "</td>
        <td>" . htmlspecialchars($a['status']) . "</td>
        <td>{$a['created_at']}</td>
    </tr>";
}
echo "<tr><td colspan='7'><strong>Total Advertisers:</strong> $totalRows</td></tr>";
echo "</table>";

// Pagination
if ($totalPages > 1) {
    echo "<div style='margin-top:20px'><strong>Pages:</strong> ";
    for ($i = 1; $i <= $totalPages; $i++) {
        $link = "?status=$status&start=$start&end=$end&page=$i";
        echo "<a href='$link' style='margin-right:10px'>" . ($i == $page ? "<strong>$i</strong>" : $i) . "</a>";
    }
    echo "</div>";
}
?>
</div>
</body>
</html>