<?php
require_once 'config/config.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    redirect(SITE_URL);
}

$company_id = intval($_POST['company_id'] ?? 0);
$name = trim($_POST['name'] ?? '');
$surname = trim($_POST['surname'] ?? '');
$email = trim($_POST['email'] ?? '');
$rating = intval($_POST['rating'] ?? 0);
$comment = trim($_POST['comment'] ?? '');

// Validasyon
if (empty($name) || empty($surname) || empty($email) || empty($comment)) {
    setFlashMessage('error', 'Lütfen tüm alanları doldurun.');
    redirect(SITE_URL . '/firma/' . $company_id);
}

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    setFlashMessage('error', 'Geçerli bir e-posta adresi giriniz.');
    redirect(SITE_URL . '/firma/' . $company_id);
}

if ($rating < 1 || $rating > 5) {
    setFlashMessage('error', 'Lütfen 1-5 arası bir puan seçin.');
    redirect(SITE_URL . '/firma/' . $company_id);
}

// Firma kontrolü
$stmt = $pdo->prepare("SELECT id FROM companies WHERE id = ? AND status = 'active'");
$stmt->execute([$company_id]);
if (!$stmt->fetch()) {
    setFlashMessage('error', 'Firma bulunamadı.');
    redirect(SITE_URL);
}

try {
    $stmt = $pdo->prepare("
        INSERT INTO reviews (company_id, name, surname, email, rating, comment, status)
        VALUES (?, ?, ?, ?, ?, ?, 'pending')
    ");
    $stmt->execute([$company_id, $name, $surname, $email, $rating, $comment]);
    
    setFlashMessage('success', 'Yorumunuz başarıyla gönderildi. Onaylandıktan sonra yayınlanacaktır.');
} catch (PDOException $e) {
    setFlashMessage('error', 'Yorum gönderilirken bir hata oluştu.');
}

redirect(SITE_URL . '/firma/' . $company_id);

