$success, 'message' => $message]); exit; } $raw = file_get_contents('php://input'); $data = json_decode($raw, true); if (!is_array($data)) { respond(false, 'Invalid JSON payload.'); } $templateId = isset($data['template_id']) ? (int)$data['template_id'] : 0; $pageMeta = $data['pdf_page_meta'] ?? null; if ($templateId <= 0) { respond(false, 'Missing or invalid template_id.'); } // pdf_page_meta deve essere una stringa JSON valida if (!is_string($pageMeta)) { respond(false, 'pdf_page_meta must be a JSON string.'); } $decoded = json_decode($pageMeta, true); if ($decoded === null && json_last_error() !== JSON_ERROR_NONE) { respond(false, 'pdf_page_meta is not valid JSON: ' . json_last_error_msg()); } try { $db = DBHandlerSelect::getInstance(); $pdo = $db->getConnection(); $stmt = $pdo->prepare("UPDATE excel_templates SET pdf_page_meta = :meta WHERE id = :id"); $stmt->execute([ ':meta' => $pageMeta, ':id' => $templateId, ]); } catch (Throwable $e) { respond(false, 'Database update failed: ' . $e->getMessage()); } respond(true, 'Page metadata saved.');