<?php
require 'auth_check.php';
require '../config/db.php';

$msg = "";
$msgClass = "";

// 1. HANDLE EMAIL BLAST
if (isset($_POST['send_blast'])) {
    $subject = trim($_POST['subject']);
    $message_body = trim($_POST['message']);
    $audience = $_POST['audience']; // 'all' or 'buyers'

    // Select Audience
    if ($audience == 'buyers') {
        // Only people who have completed at least 1 order
        $stmt = $pdo->query("SELECT DISTINCT email, name FROM users WHERE id IN (SELECT user_id FROM orders WHERE status='completed')");
    } else {
        // Everyone
        $stmt = $pdo->query("SELECT email, name FROM users");
    }
    $users = $stmt->fetchAll();

    // Prepare Email Headers
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $headers .= "From: Pro Subscription Offers <support@prosubscriptionoffers.com>" . "\r\n";

    // Loop & Send
    $count = 0;
    foreach ($users as $user) {
        $personal_msg = "
        <html>
        <body style='font-family: Arial, sans-serif; color: #333; line-height: 1.6;'>
            <div style='background-color: #2c3e50; padding: 20px; text-align: center;'>
                <h2 style='color: white; margin:0;'>Pro Subscription Offers</h2>
            </div>
            <div style='padding: 20px; border: 1px solid #ddd; background: #f9f9f9;'>
                <p>Hi <strong>" . htmlspecialchars($user['name']) . "</strong>,</p>
                
                <div style='background: white; padding: 15px; border-radius: 5px; margin: 15px 0; border-left: 4px solid #3498db;'>
                    " . nl2br($message_body) . "
                </div>
                
                <p style='margin-top: 20px;'>
                    <a href='https://prosubscriptionoffers.com' style='background: #e74c3c; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; font-weight: bold;'>Visit Store</a>
                </p>
                
                <hr style='border:0; border-top:1px solid #eee; margin-top:30px;'>
                <small style='color: #888;'>You received this email because you are a registered member of Pro Subscription Offers.</small>
            </div>
        </body>
        </html>
        ";

        // Suppress errors to keep loop running
        if(@mail($user['email'], $subject, $personal_msg, $headers)) {
            $count++;
        }
    }

    $msg = "Marketing Blast Sent to <strong>$count</strong> users!";
    $msgClass = "success";
}

// 2. HANDLE ABANDONED CART RECOVERY (Optional Feature Logic)
if (isset($_POST['send_recovery'])) {
    // Logic to fetch abandoned carts (requires 'abandoned_carts' table)
    // For now, we just show a message as placeholder functionality
    try {
        $carts = $pdo->query("SELECT * FROM abandoned_carts WHERE status='pending' AND created_at < NOW() - INTERVAL 1 HOUR")->fetchAll();
        $rec_count = 0;
        
        foreach ($carts as $c) {
            $to = $c['email'];
            $subject = "You left something behind! 🛒";
            $rec_msg = "<html><body><p>Hi,</p><p>We noticed you didn't finish your order. Use code <strong>SAVE5</strong> to complete it now!</p><p><a href='https://prosubscriptionoffers.com/cart.php'>Go to Cart</a></p></body></html>";
            $headers = "MIME-Version: 1.0" . "\r\n" . "Content-type:text/html;charset=UTF-8" . "\r\n" . "From: Pro Subscription Offers <support@prosubscriptionoffers.com>";
            
            if(@mail($to, $subject, $rec_msg, $headers)) {
                $pdo->prepare("UPDATE abandoned_carts SET status='recovered' WHERE id=?")->execute([$c['id']]);
                $rec_count++;
            }
        }
        $msg = "Recovery emails sent to <strong>$rec_count</strong> users!";
        $msgClass = "success";
    } catch (Exception $e) {
        $msg = "Error: Abandoned Cart table not found or setup.";
        $msgClass = "error";
    }
}

// Stats
$total_users = $pdo->query("SELECT COUNT(*) FROM users")->fetchColumn();
$total_buyers = $pdo->query("SELECT COUNT(DISTINCT user_id) FROM orders WHERE status='completed'")->fetchColumn();
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Marketing Blaster</title>
    <link rel="stylesheet" href="admin_style.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <style>
        .msg-box { padding: 10px; border-radius: 5px; margin-bottom: 20px; text-align: center; }
        .success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        
        .marketing-card { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); max-width: 700px; margin: 0 auto; margin-bottom: 30px;}
        
        .stat-bar { display: flex; gap: 20px; margin-bottom: 30px; justify-content: center; }
        .stat-item { background: #e8f4fd; padding: 10px 20px; border-radius: 50px; color: #2980b9; font-weight: bold; border: 1px solid #bce0fd; }
        
        .form-group { margin-bottom: 20px; }
        .form-group label { display: block; font-weight: bold; margin-bottom: 8px; color: #333; }
        .form-control { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; box-sizing: border-box; }
        textarea { resize: vertical; min-height: 150px; }
        
        .btn-blast { width: 100%; padding: 15px; font-size: 18px; background: linear-gradient(135deg, #8e44ad, #c0392b); color: white; border: none; cursor: pointer; border-radius: 5px; font-weight: bold; transition: transform 0.2s; }
        .btn-blast:hover { transform: scale(1.02); }
        
        .btn-recover { background: #e67e22; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-weight: bold; }
    </style>
</head>
<body>

    <!-- SIDEBAR -->
    <div class="sidebar">
        <?php include 'sidebar.php'; ?>
    </div>

    <div class="content">
        <h1 style="text-align: center;">Email Marketing Blaster</h1>

        <?php if($msg): ?>
            <div class="msg-box <?php echo $msgClass; ?>"><?php echo $msg; ?></div>
        <?php endif; ?>

        <div class="stat-bar">
            <div class="stat-item"><i class="fas fa-users"></i> Total Users: <?php echo $total_users; ?></div>
            <div class="stat-item" style="background: #e9f7ef; color: #27ae60; border-color: #c3e6cb;"><i class="fas fa-shopping-cart"></i> Verified Buyers: <?php echo $total_buyers; ?></div>
        </div>

        <!-- EMAIL BLAST FORM -->
        <div class="marketing-card">
            <h3><i class="fas fa-paper-plane"></i> Send Newsletter</h3>
            <form method="POST">
                
                <div class="form-group">
                    <label>Target Audience</label>
                    <select name="audience" class="form-control">
                        <option value="all">All Registered Users (<?php echo $total_users; ?>)</option>
                        <option value="buyers">Verified Buyers Only (<?php echo $total_buyers; ?>)</option>
                    </select>
                </div>

                <div class="form-group">
                    <label>Email Subject</label>
                    <input type="text" name="subject" class="form-control" placeholder="e.g. Flash Sale: 50% Off Today Only!" required>
                </div>

                <div class="form-group">
                    <label>Message Content (HTML Allowed)</label>
                    <textarea name="message" class="form-control" placeholder="Hi there, we have a special offer for you..." required></textarea>
                    <small style="color: #666;">Note: Use &lt;b&gt; for bold, &lt;br&gt; for new line.</small>
                </div>

                <button type="submit" name="send_blast" class="btn-blast" onclick="return confirm('Are you sure you want to send this email to everyone?')">
                    Send Email Blast
                </button>

            </form>
        </div>

        <!-- ABANDONED CART SECTION -->
        <div class="marketing-card" style="border-top: 4px solid #e67e22;">
            <h3><i class="fas fa-cart-arrow-down"></i> Abandoned Cart Recovery</h3>
            <p style="color:#666; margin-bottom:15px;">Send a reminder email to users who left items in their cart more than 1 hour ago.</p>
            
            <form method="POST">
                <button type="submit" name="send_recovery" class="btn-recover">
                    Run Recovery Campaign
                </button>
            </form>
        </div>

    </div>

</body>
</html>