<?php
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');

require_once __DIR__ . '/db.php';

$res_id = (int)($_POST['reservation_id'] ?? 0);
if (!$res_id) jsonResponse(['error' => 'Rezervasyon ID eksik'], 400);

if (empty($_FILES['dekont']['tmp_name'])) jsonResponse(['error' => 'Dosya yok'], 400);

$file     = $_FILES['dekont'];
$ext      = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
$allowed  = ['jpg','jpeg','png','gif','webp','pdf'];
if (!in_array($ext, $allowed)) jsonResponse(['error' => 'Geçersiz dosya türü'], 400);
if ($file['size'] > 10 * 1024 * 1024) jsonResponse(['error' => 'Dosya 10MB\'dan büyük olamaz'], 400);

$uploadDir = __DIR__ . '/../data/dekontlar/';
if (!is_dir($uploadDir)) mkdir($uploadDir, 0755, true);

$filename = 'dekont_' . $res_id . '_' . time() . '.' . $ext;
$target   = $uploadDir . $filename;

if (!move_uploaded_file($file['tmp_name'], $target)) {
    jsonResponse(['error' => 'Dosya yüklenemedi'], 500);
}

// DB'ye kaydet
$db = getDB();

// dekont_path kolonu yoksa ekle
$cols = [];
$r = $db->query("PRAGMA table_info(reservations)");
while ($row = $r->fetchArray(SQLITE3_ASSOC)) $cols[] = $row['name'];
if (!in_array('dekont_path', $cols)) {
    $db->exec("ALTER TABLE reservations ADD COLUMN dekont_path TEXT DEFAULT NULL");
}

$stmt = $db->prepare("UPDATE reservations SET dekont_path=:p, status='onaylandi' WHERE id=:id");
$stmt->bindValue(':p',  'data/dekontlar/' . $filename);
$stmt->bindValue(':id', $res_id);
$stmt->execute();

// Telegram bildirimi
$r2 = $db->prepare("SELECT * FROM reservations WHERE id=:id");
$r2->bindValue(':id', $res_id);
$row = $r2->execute()->fetchArray(SQLITE3_ASSOC);
if ($row) {
    $msg = "📎 <b>Dekont Yüklendi!</b>\n\n"
         . "👤 <b>Müşteri:</b> {$row['customer_name']}\n"
         . "📞 <b>Telefon:</b> {$row['customer_phone']}\n"
         . "🚘 <b>Araç:</b> {$row['car_name']}\n"
         . "💰 <b>Tutar:</b> " . ($row['total_price'] ? $row['total_price'].' TL' : '-') . "\n"
         . "📁 <b>Dosya:</b> {$filename}";
    sendTelegram($msg);
}

jsonResponse(['message' => 'Dekont yüklendi', 'file' => $filename]);
