<?php
require 'db.php';
require 'auth.php';

require_login();
$user = current_user();

$job_id = $_POST['job_id'] ?? null;

if (!$job_id) {
    die("İş ID gerekli.");
}

// İşi kontrol et
$stmt = $pdo->prepare("SELECT * FROM jobs WHERE id = ?");
$stmt->execute([$job_id]);
$job = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$job) {
    die("İş bulunamadı.");
}

// Teknisyen ise sadece kendi işine dosya yükleyebilir
if ($user['role'] == 3 && $job['technician_id'] != $user['id']) {
    die("Bu işe dosya yükleme yetkiniz yok.");
}

if (!isset($_FILES['file']) || $_FILES['file']['error'] !== UPLOAD_ERR_OK) {
    die("Dosya yüklenemedi.");
}

$uploadDir = __DIR__ . '/uploads';
if (!is_dir($uploadDir)) {
    mkdir($uploadDir, 0777, true);
}

$filename = time() . '_' . basename($_FILES['file']['name']);
$targetPath = $uploadDir . '/' . $filename;

if (move_uploaded_file($_FILES['file']['tmp_name'], $targetPath)) {
    $relativePath = 'uploads/' . $filename;

    $stmt = $pdo->prepare("INSERT INTO job_files (job_id, user_id, file_path, file_type) VALUES (?, ?, ?, ?)");
    $stmt->execute([$job_id, $user['id'], $relativePath, 'image']);

    require 'log_helper.php';
    log_job_action($pdo, $job_id, $user['id'], 'file_upload', null, null, 'Dosya yüklendi: ' . $relativePath);

    header("Location: job_edit.php?id=" . $job_id);
    exit;
} else {
    die("Dosya taşınamadı.");
}
?>