<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require __DIR__ . '/vendor/autoload.php';

/**
 * Kirim email ke admin untuk verifikasi akun baru, dan ke user sebagai notifikasi.
 *
 * @param string $userEmail
 * @param string $username
 * @return bool
 */
function sendAdminNotificationEmail($userEmail, $username)
{
    $siteName = 'Sistem Kas Rembas';
    $adminEmail = 'kciwatiwan015@gmail.com';

    // Buat URL verifikasi otomatis berdasarkan domain hosting
    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https" : "http";
    $host = $_SERVER['HTTP_HOST'];
    $verificationLink = $protocol . "://" . $host . "/kas_rembas/verify_user.php?email=" . urlencode($userEmail);

    // Konfigurasi Email Admin
    $mail = new PHPMailer(true);
    try {
        $mail->isSMTP();
        $mail->Host = 'mail.iwankciwat.my.id';
        $mail->SMTPAuth = true;
        $mail->Username = 'noreply@iwankciwat.my.id';
        $mail->Password = 'Kciwat0825'; // Ganti dengan password email sebenarnya
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
        $mail->Port = 465;

        $mail->setFrom('noreply@iwankciwat.my.id', 'Admin ' . $siteName);
        $mail->addAddress($adminEmail);
        $mail->addReplyTo('noreply@iwankciwat.my.id', 'No-Reply');

        $mail->isHTML(true);
        $mail->Subject = "Persetujuan Akun Baru - $siteName";
        $mail->Body = "
            <p>Halo Admin,</p>
            <p>Ada akun baru yang mendaftar di <strong>$siteName</strong>:</p>
            <ul>
                <li><strong>Nama Pengguna:</strong> " . htmlspecialchars($username) . "</li>
                <li><strong>Email:</strong> " . htmlspecialchars($userEmail) . "</li>
            </ul>
            <p>Silakan klik link berikut untuk memverifikasi akun:</p>
            <p><a href='$verificationLink'>Klik di sini untuk Verifikasi Akun</a></p>
            <br>
            <p>Salam,<br>Tim $siteName</p>
        ";
        $mail->AltBody = "Akun baru telah mendaftar.\nNama: $username\nEmail: $userEmail\nVerifikasi: $verificationLink";

        $mail->send();

        // === Kirim Email ke User ===
        $userMail = new PHPMailer(true);
        $userMail->isSMTP();
        $userMail->Host = 'mail.iwankciwat.my.id';
        $userMail->SMTPAuth = true;
        $userMail->Username = 'noreply@iwankciwat.my.id';
        $userMail->Password = 'Kciwat0825';
        $userMail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
        $userMail->Port = 465;

        $userMail->setFrom('noreply@iwankciwat.my.id', $siteName);
        $userMail->addAddress($userEmail);
        $userMail->addReplyTo('noreply@iwankciwat.my.id', 'No-Reply');

        $userMail->isHTML(true);
        $userMail->Subject = "Pendaftaran Anda di $siteName";
        $userMail->Body = "
            <p>Halo <strong>" . htmlspecialchars($username) . "</strong>,</p>
            <p>Terima kasih telah mendaftar di <strong>$siteName</strong>.</p>
            <p>Akun Anda saat ini sedang menunggu verifikasi dari admin.</p>
            <p>Setelah diverifikasi, Anda akan dapat login ke sistem.</p>
            <br>
            <p>Salam,<br>Tim $siteName</p>
        ";
        $userMail->AltBody = "Akun Anda sedang menunggu verifikasi dari admin. Setelah disetujui, Anda bisa login ke $siteName.";

        $userMail->send();

        return true;
    } catch (Exception $e) {
        error_log("Gagal mengirim email: " . $mail->ErrorInfo);
        return false;
    }
}
