105 lines
2.9 KiB
PHP
105 lines
2.9 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
ini_set('display_errors', 1);
|
|
ini_set('display_startup_errors', 1);
|
|
error_reporting(E_ALL);
|
|
|
|
require_once(__DIR__ . '/class/db-functions.php');
|
|
|
|
try {
|
|
$db = DBHandlerSelect::getInstance();
|
|
$pdo = $db->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;
|