getConnection(); $data = json_decode(file_get_contents("php://input"), true); if (!$data || !isset($data['template_id'], $data['xls_headers'])) { echo json_encode(["success" => false, "message" => "Invalid or missing data"]); exit; } $templateId = (int)$data['template_id']; $xlsHeaders = $data['xls_headers']; $headerRow = isset($data['header_row']) && $data['header_row'] !== '' ? (int)$data['header_row'] : null; $startColumn = isset($data['start_column']) && $data['start_column'] !== '' ? (int)$data['start_column'] : null; $xlsSheetIndex = isset($data['xls_sheet_index']) && $data['xls_sheet_index'] !== '' ? (int)$data['xls_sheet_index'] : null; if ($templateId <= 0) { echo json_encode(["success" => false, "message" => "Invalid template ID"]); exit; } if ($xlsHeaders === '') { echo json_encode(["success" => false, "message" => "XLS headers cannot be empty"]); exit; } if ($headerRow !== null && $headerRow <= 0) { echo json_encode(["success" => false, "message" => "Header row must be greater than 0"]); exit; } if ($startColumn !== null && $startColumn <= 0) { echo json_encode(["success" => false, "message" => "Start column must be greater than 0"]); exit; } if ($xlsSheetIndex !== null && $xlsSheetIndex < 0) { echo json_encode(["success" => false, "message" => "XLS sheet number cannot be negative"]); exit; } $sql = "UPDATE excel_templates SET xls_headers = ?"; $params = [$xlsHeaders]; if ($headerRow !== null) { $sql .= ", header_row = ?"; $params[] = $headerRow; } if ($startColumn !== null) { $sql .= ", start_column = ?"; $params[] = $startColumn; } if ($xlsSheetIndex !== null) { $sql .= ", xls_sheet_index = ?"; $params[] = $xlsSheetIndex; } $sql .= ", updated_at = NOW()"; $sql .= " WHERE id = ?"; $params[] = $templateId; $stmt = $pdo->prepare($sql); $result = $stmt->execute($params); if (!$result) { echo json_encode(["success" => false, "message" => "Database update failed"]); exit; } echo json_encode([ "success" => true, "message" => "XLS headers saved successfully", "debug" => [ "template_id" => $templateId, "header_row" => $headerRow, "start_column" => $startColumn, "xls_sheet_index" => $xlsSheetIndex ] ]); } catch (Exception $e) { echo json_encode(["success" => false, "message" => "Error: " . $e->getMessage()]); } exit;