67 lines
2.4 KiB
PHP
67 lines
2.4 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
require_once 'class/db-functions.php';
|
|
|
|
$response = ["success" => false, "message" => ""];
|
|
|
|
try {
|
|
if ($_SERVER["REQUEST_METHOD"] !== "POST") {
|
|
throw new Exception("Invalid request method.");
|
|
}
|
|
|
|
// Recupera e sanifica i dati
|
|
$id = intval($_POST['id']);
|
|
$name = trim($_POST['name']);
|
|
$header_row = intval($_POST['header_row']);
|
|
$start_column = trim($_POST['start_column']);
|
|
$description = trim($_POST['description'] ?? '');
|
|
$target_table = trim($_POST['target_table']);
|
|
$idclient = intval($_POST['client_id'] ?? 0); // Usa client_id dal form
|
|
$clientname = trim($_POST['client_name'] ?? ''); // Usa client_name dal form
|
|
$idschema = intval($_POST['idschema'] ?? 0); // Nuovo campo
|
|
$schemaname = trim($_POST['schemaname'] ?? ''); // Corretto da schemamaname
|
|
$idroutine = isset($_POST['idroutine']) && $_POST['idroutine'] !== '' ? intval($_POST['idroutine']) : null; // Aggiunto idroutine
|
|
|
|
// Controllo sui campi obbligatori
|
|
if (empty($id) || empty($name) || empty($header_row) || empty($start_column) || empty($target_table) || $idschema <= 0) {
|
|
throw new Exception("All fields marked with * are required, including schema.");
|
|
}
|
|
|
|
// Validazione del idclient
|
|
if ($idclient <= 0) {
|
|
throw new Exception("Please select a valid client.");
|
|
}
|
|
|
|
// Connessione al database
|
|
$db = DBHandlerSelect::getInstance();
|
|
$pdo = $db->getConnection();
|
|
|
|
// Aggiorna il database, includendo idschema, schemaname e idroutine
|
|
$stmt = $pdo->prepare("UPDATE excel_templates
|
|
SET name = ?, header_row = ?, start_column = ?, description = ?, target_table = ?,
|
|
idclient = ?, clientname = ?, schemaname = ?, idschema = ?, idroutine = ?, updated_at = NOW()
|
|
WHERE id = ?");
|
|
$stmt->execute([
|
|
$name,
|
|
$header_row,
|
|
$start_column,
|
|
$description,
|
|
$target_table,
|
|
$idclient,
|
|
$clientname,
|
|
$schemaname,
|
|
$idschema,
|
|
$idroutine,
|
|
$id
|
|
]);
|
|
|
|
// rowCount potrebbe essere 0 se non ci sono modifiche, quindi consideriamo comunque un successo
|
|
$response["success"] = true;
|
|
$response["message"] = "Template updated successfully!";
|
|
} catch (Exception $e) {
|
|
$response["message"] = $e->getMessage();
|
|
}
|
|
|
|
// Restituisce un JSON per il fetch
|
|
echo json_encode($response);
|