49 lines
1.7 KiB
PHP
49 lines
1.7 KiB
PHP
<?php
|
|
require_once(__DIR__ . '/class/db-functions.php');
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
if (!isset($_POST['template_id']) || !is_numeric($_POST['template_id'])) {
|
|
echo json_encode(["success" => false, "message" => "Invalid template ID"]);
|
|
exit;
|
|
}
|
|
|
|
$template_id = intval($_POST['template_id']);
|
|
|
|
if (!isset($_FILES['xls_file']) || $_FILES['xls_file']['error'] !== UPLOAD_ERR_OK) {
|
|
echo json_encode(["success" => false, "message" => "File upload error"]);
|
|
exit;
|
|
}
|
|
|
|
$file = $_FILES['xls_file'];
|
|
$originalFilename = pathinfo($file['name'], PATHINFO_FILENAME);
|
|
$extension = pathinfo($file['name'], PATHINFO_EXTENSION);
|
|
|
|
// Crea il nuovo nome del file: {idtemplate}-{timestamp}-{nomeoriginale}.ext
|
|
$newFilename = $template_id . "-" . time() . "-" . preg_replace("/[^a-zA-Z0-9_-]/", "", $originalFilename) . "." . $extension;
|
|
$uploadDir = __DIR__ . '/xlstemplates/';
|
|
$uploadPath = $uploadDir . $newFilename;
|
|
|
|
// Assicura che la cartella esista
|
|
if (!is_dir($uploadDir)) {
|
|
mkdir($uploadDir, 0777, true);
|
|
}
|
|
|
|
// Salva il file
|
|
if (!move_uploaded_file($file['tmp_name'], $uploadPath)) {
|
|
echo json_encode(["success" => false, "message" => "Failed to save file"]);
|
|
exit;
|
|
}
|
|
|
|
// Aggiorna il database con il nome del file
|
|
try {
|
|
$db = DBHandlerSelect::getInstance();
|
|
$pdo = $db->getConnection();
|
|
$stmt = $pdo->prepare("UPDATE excel_templates SET sample_xlsx = ? WHERE id = ?");
|
|
$stmt->execute([$newFilename, $template_id]);
|
|
|
|
echo json_encode(["success" => true, "filename" => $newFilename, "filepath" => "xlstemplates/" . $newFilename]);
|
|
} catch (PDOException $e) {
|
|
echo json_encode(["success" => false, "message" => "Database error: " . $e->getMessage()]);
|
|
}
|