diff --git a/public/userportal/add-document.php b/public/userportal/add-document.php index 6ccdabf..9795e0c 100644 --- a/public/userportal/add-document.php +++ b/public/userportal/add-document.php @@ -1,9 +1,5 @@ connect_error) { die("Errore di connessione: " . $conn->connect_error); } -// Verifica se la richiesta è POST -if ($_SERVER['REQUEST_METHOD'] === 'POST') { - // Recupera i dati dal form +if ($_SERVER["REQUEST_METHOD"] == "POST") { $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 inserimento - $query = " - INSERT INTO documents (document_name, page_id, idsections, max_documents, is_required, notes) - VALUES (?, ?, ?, ?, ?, ?) - "; - - $stmt = $conn->prepare($query); - if ($stmt === false) { - die("Errore nella preparazione della query: " . $conn->error); - } - - // Associa i parametri alla query - $stmt->bind_param('siiiss', $document_name, $page_id, $idsections, $max_documents, $is_required, $notes); - - // Esegue la query e controlla il risultato - if ($stmt->execute()) { - // 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(); - } - + // Inserisci il documento + $stmt = $conn->prepare("INSERT INTO documents (document_name, page_id, idsections, max_documents, is_required, notes) VALUES (?, ?, ?, ?, ?, ?)"); + $stmt->bind_param("siiiss", $document_name, $page_id, $idsections, $max_documents, $is_required, $notes); + $stmt->execute(); + $document_id = $conn->insert_id; $stmt->close(); + + // Inserisci i tag nella tabella document_tags + 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(); + } + + header("Location: documents-settings.php?success=1"); + exit(); } else { - // Metodo non consentito - header("HTTP/1.1 405 Method Not Allowed"); - echo "Metodo non consentito."; + header("Location: documents-settings.php?error=1"); exit(); } diff --git a/public/userportal/delete-document.php b/public/userportal/delete-document.php index f4cc7dc..dd9e208 100644 --- a/public/userportal/delete-document.php +++ b/public/userportal/delete-document.php @@ -1,30 +1,38 @@ connect_error) { + die(json_encode(["success" => false, "message" => "Errore di connessione al database."])); +} + if ($_SERVER['REQUEST_METHOD'] === 'POST') { $documentId = isset($_POST['document_id']) ? intval($_POST['document_id']) : 0; - $fileName = isset($_POST['file_name']) ? $_POST['file_name'] : ''; - if ($documentId > 0 && !empty($fileName)) { - // Elimina il file dal server - $filePath = "persondocuments/" . $fileName; - if (file_exists($filePath)) { - unlink($filePath); - } + if ($documentId > 0) { + // Elimina i tag associati + $stmt = $conn->prepare("DELETE FROM document_tags WHERE document_id = ?"); + $stmt->bind_param("i", $documentId); + $stmt->execute(); + $stmt->close(); - // Elimina dal database - $query = $conn->prepare("DELETE FROM doc_storage WHERE id = ?"); - $query->bind_param("i", $documentId); - if ($query->execute()) { + // Elimina il documento + $stmt = $conn->prepare("DELETE FROM documents WHERE document_id = ?"); + $stmt->bind_param("i", $documentId); + if ($stmt->execute()) { echo json_encode(["success" => true]); } else { echo json_encode(["success" => false, "message" => "Errore durante l'eliminazione dal database."]); } + $stmt->close(); } else { echo json_encode(["success" => false, "message" => "Parametri non validi."]); } } else { echo json_encode(["success" => false, "message" => "Metodo non consentito."]); } + +$conn->close(); diff --git a/public/userportal/documents-settings.php b/public/userportal/documents-settings.php index c0e9175..de48fb5 100644 --- a/public/userportal/documents-settings.php +++ b/public/userportal/documents-settings.php @@ -106,7 +106,6 @@ while ($row = $queryTags->fetch_assoc()) {
prepare("SELECT t.tag_id, t.tag_name FROM tags t JOIN document_tags dt ON t.tag_id = dt.tag_id WHERE dt.document_id = ?"); @@ -114,10 +113,18 @@ while ($row = $queryTags->fetch_assoc()) { $tagStmt->execute(); $tagResult = $tagStmt->get_result(); $documentTags = []; - while ($tagRow = $tagResult->fetch_assoc()) { - $documentTags[] = $tagRow['tag_name']; + $documentTagIds = []; + if ($tagResult) { + while ($tagRow = $tagResult->fetch_assoc()) { + $documentTags[] = $tagRow['tag_name']; + $documentTagIds[] = (int)$tagRow['tag_id']; + } } $tagStmt->close(); + + // Debug: Stampa il valore di data-tags + $tagsJson = json_encode($documentTagIds); + echo "\n"; ?>