casadoc/public/userportal/edit-document.php
2025-06-06 17:14:16 +02:00

80 lines
2.7 KiB
PHP

<?php
// edit-document.php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include('include/headscript.php');
// Connessione al database
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error) {
die("Errore di connessione: " . $conn->connect_error);
}
// Verifica se la richiesta è POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Recupera i dati dal form
$document_id = isset($_POST['document_id']) ? (int)$_POST['document_id'] : 0;
$document_name = $conn->real_escape_string($_POST['document_name']);
$page_id = isset($_POST['page_id']) ? (int)$_POST['page_id'] : null;
$idsections = isset($_POST['idsections']) ? (int)$_POST['idsections'] : null;
$max_documents = isset($_POST['max_documents']) ? (int)$_POST['max_documents'] : 0;
$is_required = isset($_POST['is_required']) ? (int)$_POST['is_required'] : 0;
$notes = !empty($_POST['notes']) ? $conn->real_escape_string($_POST['notes']) : null;
$tags = isset($_POST['tags']) ? $_POST['tags'] : []; // Array di tag selezionati
// Prepara la query di aggiornamento
$query = "
UPDATE documents
SET document_name = ?, page_id = ?, idsections = ?, max_documents = ?, is_required = ?, notes = ?
WHERE document_id = ?
";
$stmt = $conn->prepare($query);
if ($stmt === false) {
die("Errore nella preparazione della query: " . $conn->error);
}
// Associa i parametri alla query
$stmt->bind_param('siiissi', $document_name, $page_id, $idsections, $max_documents, $is_required, $notes, $document_id);
// Esegue la query e controlla il risultato
if ($stmt->execute()) {
// Elimina i tag esistenti
$stmt = $conn->prepare("DELETE FROM document_tags WHERE document_id = ?");
$stmt->bind_param("i", $document_id);
$stmt->execute();
$stmt->close();
// Inserisci i nuovi tag
if (!empty($tags)) {
$stmt = $conn->prepare("INSERT INTO document_tags (document_id, tag_id) VALUES (?, ?)");
foreach ($tags as $tag_id) {
$tag_id = (int)$tag_id;
$stmt->bind_param("ii", $document_id, $tag_id);
$stmt->execute();
}
$stmt->close();
}
// Reindirizza con messaggio di successo
header("Location: documents-settings.php?success=1");
exit();
} else {
// Reindirizza con messaggio di errore
header("Location: documents-settings.php?error=1");
exit();
}
$stmt->close();
} else {
// Metodo non consentito
header("HTTP/1.1 405 Method Not Allowed");
echo "Metodo non consentito.";
exit();
}
$conn->close();