<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

require "../connection.php";

$id = intval($_POST['id'] ?? 0);
$name = $_POST['name'] ?? null;

$image = null;

if (!empty($_FILES['image']['name'])) {

    $uploadDir = __DIR__ . "/../upload/players/";

    if (!is_dir($uploadDir)) {
        mkdir($uploadDir, 0755, true);
    }

    if (!is_writable($uploadDir)) {
        die("Upload dir not writable: " . $uploadDir);
    }

    if ($_FILES['image']['error'] !== UPLOAD_ERR_OK) {
        die("Upload error: " . $_FILES['image']['error']);
    }

    $ext = strtolower(pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION));
    $image = time() . "." . $ext;
    $target = $uploadDir . $image;

    if (!move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
        die("move_uploaded_file failed: " . $target);
    }
}

/* === UPDATE DB === */
if ($name && $image) {
    $stmt = $conn->prepare("UPDATE players SET name=?, image=? WHERE id=?");
    $stmt->bind_param("ssi", $name, $image, $id);

} elseif ($name) {
    $stmt = $conn->prepare("UPDATE players SET name=? WHERE id=?");
    $stmt->bind_param("si", $name, $id);

} elseif ($image) {
    $stmt = $conn->prepare("UPDATE players SET image=? WHERE id=?");
    $stmt->bind_param("si", $image, $id);
}

if (isset($stmt)) {
    $stmt->execute();
}

/* === REDIRECT === */
header("Location: ../admin/dashboard.php");
exit;
