<?php
/**
 * Sınav Koçu - Yerel Mail Servisi ve CRM İletişim Günlüğü
 * Fatal Error Korumalı / CRM Entegreli Güncel Sürüm
 */

/**
 * Sistem üzerinden e-posta gönderir ve CRM geçmişine kaydeder.
 * * @param string $to Alıcı e-posta adresi
 * @param string $subject E-posta konusu
 * @param string $body E-posta içeriği (HTML destekler)
 * @param int|null $user_id Loglama için müşteri ID'si (Opsiyonel)
 * @param string|null $replyTo Yanıt adresi
 * @param string|null $replyName Yanıtlayacak kişinin adı
 */
function sendSystemMail($to, $subject, $body, $user_id = null, $replyTo = null, $replyName = null) {
    // 1. Veritabanı bağlantısını globalden çek (db.php içindeki $db değişkeni)
    global $db;
    
    // Eğer $db değişkeni globalde tanımlı değilse GLOBALS dizisinden kontrol et
    $conn = $db ?? ($GLOBALS['db'] ?? null);

    // 2. Profesyonel HTML Şablonunu Hazırla
    $message_html = "
    <html>
    <body style='font-family: Arial, sans-serif; color: #333; line-height: 1.6;'>
        <div style='background-color: #f3f4f6; padding: 30px;'>
            <div style='max-width: 600px; margin: 0 auto; background-color: #ffffff; padding: 25px; border-radius: 12px; border: 1px solid #e5e7eb;'>
                <h2 style='color: #0d6efd; margin-top: 0; border-bottom: 2px solid #f3f4f6; padding-bottom: 10px;'>$subject</h2>
                <div style='color: #4b5563; margin-top: 20px;'>$body</div>
                <div style='margin-top: 30px; padding-top: 20px; border-top: 1px solid #f3f4f6; font-size: 12px; color: #9ca3af;'>
                    Bu e-posta <strong>Sınav Koçu Eğitim Platformu</strong> tarafından otomatik gönderilmiştir.
                </div>
            </div>
        </div>
    </body>
    </html>";

    // Gönderici Ayarları
    $fromName = "Sınav Koçu Mağaza";
    $fromEmail = "magaza@sinavkocu.tr"; 
    
    // Header (Başlık) Ayarları
    $headers = "From: $fromName <$fromEmail>\r\n";
    if ($replyTo) {
        $headers .= "Reply-To: " . ($replyName ?? $replyTo) . " <$replyTo>\r\n";
    }
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8\r\n";

    // 3. E-postayı Gönder
    $mail_sent = mail($to, $subject, $message_html, $headers);

    // 4. CRM GÜNLÜĞÜNE KAYDET (Loglama)
    if ($conn !== null) {
        try {
            // communication_logs tablosuna user_id ile birlikte kaydet
            $log_stmt = $conn->prepare("INSERT INTO communication_logs (user_id, type, recipient, subject, message, status) VALUES (?, 'email', ?, ?, ?, ?)");
            $status = $mail_sent ? 'sent' : 'failed';
            $log_stmt->execute([$user_id, $to, $subject, $body, $status]);
        } catch (PDOException $e) {
            error_log("CRM Log Yazma Hatası (Mail): " . $e->getMessage());
        }
    } else {
        error_log("Mail gönderildi ancak veritabanı bağlantısı (db) bulunamadığı için loglanamadı.");
    }

    return $mail_sent;
}
?>