From 449bcc3153ed16db63f6966cf0b2fa0f6b5619ff Mon Sep 17 00:00:00 2001 From: Claudio Date: Wed, 21 May 2025 09:54:12 +0200 Subject: [PATCH] added field for td and hide show identification parts --- public/clonetrf.php | 53 ++++++++--- public/deletelogo.php | 65 +++++++++----- public/identificationparts.php | 24 +++-- public/languages/en/tdgen.php | 2 + public/languages/it/tdgen.php | 2 + public/logopopup.php | 82 +++++++++--------- public/logos/1_1747749980.jpg | Bin 0 -> 83064 bytes public/searchengine/ajaxsearch.php | 37 +++++--- public/searchengine/scriptsearch.js | 62 ++++++++++--- public/searchengine/togglehide.php | 25 ++++++ public/tdpdf/113TF-Rev.0-1747813931.pdf | Bin 0 -> 599138 bytes public/tdpdf/988TF-Rev.0-1747754678.pdf | Bin 0 -> 571979 bytes public/tdpdf/988TF-Rev.0-1747754860.pdf | Bin 0 -> 573659 bytes public/techdossier_start.php | 10 ++- public/techdossier_stepsummarypreview.php | 81 +++++++++++++++-- public/tf_pdfcreation.php | 58 ++++++++++++- public/uploadtddocuments/15-1747813845.jpg | Bin 0 -> 41834 bytes .../uploadtddocuments/ziptd/15-1747813931.zip | Bin 0 -> 41642 bytes 18 files changed, 387 insertions(+), 114 deletions(-) create mode 100644 public/logos/1_1747749980.jpg create mode 100644 public/searchengine/togglehide.php create mode 100644 public/tdpdf/113TF-Rev.0-1747813931.pdf create mode 100644 public/tdpdf/988TF-Rev.0-1747754678.pdf create mode 100644 public/tdpdf/988TF-Rev.0-1747754860.pdf create mode 100644 public/uploadtddocuments/15-1747813845.jpg create mode 100644 public/uploadtddocuments/ziptd/15-1747813931.zip diff --git a/public/clonetrf.php b/public/clonetrf.php index 222bc4f..be7c0b6 100644 --- a/public/clonetrf.php +++ b/public/clonetrf.php @@ -246,29 +246,60 @@ while ($row = mysqli_fetch_assoc($result)) { // Connessione al database $conn = mysqli_connect($servername, $username, $password, $dbname); +// Imposta la codifica UTF-8 per gestire correttamente i caratteri speciali +$conn->set_charset("utf8mb4"); +if ($conn->connect_error) { + die("Connessione fallita: " . $conn->connect_error); +} + // Query per selezionare le righe da duplicare $query = "SELECT * FROM identificationparts WHERE idtrfdetails = '$idtrf'"; $result = mysqli_query($conn, $query); // Ciclo attraverso i risultati e duplico le righe while ($row = mysqli_fetch_assoc($result)) { - - // Imposto il valore di idtrfdetails come 250 + // Imposto il valore di idtrfdetails con il nuovo ID $row['idtrfdetails'] = $newidtrfnumber; - // Lascio identificationparts nullo + // Lascio identificationparts nullo (sarà generato automaticamente) unset($row['ididentificationparts']); - // Query per duplicare la riga - $columns = implode(", ", array_keys($row)); - $values = "'" . implode("', '", array_values($row)) . "'"; - $sql_insert = "INSERT INTO identificationparts ($columns) VALUES ($values)"; - if ($conn->query($sql_insert) === TRUE) { - echo "Nuova riga inserita con successo identificationparts"; - } else { - echo "Errore nell'inserimento della nuova riga: " . $conn->error; + // Controllo la lunghezza di article_identificationparts (limite 250 caratteri) + if (isset($row['article_identificationparts']) && mb_strlen($row['article_identificationparts'], 'UTF-8') > 250) { + $row['article_identificationparts'] = mb_substr($row['article_identificationparts'], 0, 250, 'UTF-8'); + echo "Attenzione: article_identificationparts troncato a 250 caratteri."; } + + // Preparo la query con prepared statements + $columns = implode(", ", array_keys($row)); + $placeholders = implode(", ", array_fill(0, count($row), "?")); + $sql_insert = "INSERT INTO identificationparts ($columns) VALUES ($placeholders)"; + + // Preparo lo statement + $stmt = $conn->prepare($sql_insert); + if ($stmt === false) { + echo "Errore nella preparazione della query: " . $conn->error; + continue; + } + + // Creo un array di valori e determino i tipi per il bind + $values = array_values($row); + $types = str_repeat("s", count($values)); // Tratto tutto come stringa per semplicità, puoi ottimizzare i tipi se necessario + $stmt->bind_param($types, ...$values); + + // Eseguo l'inserimento + if ($stmt->execute()) { + echo "Nuova riga inserita con successo in identificationparts"; + } else { + echo "Errore nell'inserimento della nuova riga in identificationparts: " . $stmt->error; + } + + // Chiudo lo statement + $stmt->close(); } + +// Chiudo la connessione +$conn->close(); ?> prepare($query); - $stmt->bind_param("i", $id); - $stmt->execute(); - $result = $stmt->get_result(); - if ($row = $result->fetch_assoc()) { - $fileToDelete = "logos/" . $row['filenamelogo']; - // Cancellazione del file dal server - if (file_exists($fileToDelete)) { - unlink($fileToDelete); - } + + if ($conn->connect_error) { + die("Connessione al database fallita: " . $conn->connect_error); } - // Cancellazione del record dal database - $query = "DELETE FROM logo_td WHERE idlogo_td = ?"; + // Recupera il nome del file per eliminarlo + $query = "SELECT filenamelogo FROM logo_td WHERE idlogo_td = ? AND idcompany = ?"; $stmt = $conn->prepare($query); - $stmt->bind_param("i", $id); + $stmt->bind_param("ii", $id, $idcompany); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($row = $result->fetch_assoc()) { + $filePath = 'logos/' . $row['filenamelogo']; + if (file_exists($filePath)) { + unlink($filePath); // Elimina il file fisico + } + } else { + echo "Errore: logo non trovato o non autorizzato."; + $stmt->close(); + $conn->close(); + exit; + } + $stmt->close(); + + // Esegui la cancellazione dal database + $query = "DELETE FROM logo_td WHERE idlogo_td = ? AND idcompany = ?"; + $stmt = $conn->prepare($query); + $stmt->bind_param("ii", $id, $idcompany); $stmt->execute(); - header("Location: logoPopup.php"); // Reindirizza indietro alla pagina dei loghi + if ($stmt->affected_rows > 0) { + // Cancellazione riuscita + } else { + echo "Errore durante la cancellazione del logo."; + } + + $stmt->close(); + $conn->close(); + + // Reindirizza indietro con idcompany + header("Location: logopopup.php?idcompany=$idcompany"); + exit; } else { - echo "Operazione non valida."; + echo "Errore: parametri mancanti o non validi."; + exit; } diff --git a/public/identificationparts.php b/public/identificationparts.php index 74af6e4..c4a71f7 100644 --- a/public/identificationparts.php +++ b/public/identificationparts.php @@ -129,6 +129,7 @@ if ($addpart == "Y") { $InsertQuery->bindColumn("arttypeid", "i", "$arttypeid", "WA_DEFAULT"); $InsertQuery->bindColumn("useridn", "i", "$useridn", "WA_DEFAULT"); $InsertQuery->bindColumn("companyidn", "i", "$companyidn", "WA_DEFAULT"); + $InsertQuery->bindColumn("hide", "s", "N", "WA_DEFAULT"); // Imposta hide a 'N' per default $InsertQuery->saveInSession(""); $InsertQuery->execute(); $InsertGoTo = ""; @@ -304,15 +305,24 @@ $partids[] = '0'; } ?>
-
- - +
+
+ + +
+
+ + +
+
diff --git a/public/languages/en/tdgen.php b/public/languages/en/tdgen.php index eb2b926..cace2db 100644 --- a/public/languages/en/tdgen.php +++ b/public/languages/en/tdgen.php @@ -55,3 +55,5 @@ $nrep = "Report No."; $daterep = "Date"; $toreview = "Send for Review"; $toreviewhelp = "The Technical File will be sent to Cimac for document review"; +$techapplied = "Any technical specifications applied (other than harmonised standards)"; +$corrtdcertified = "Matching with already certified PPE"; diff --git a/public/languages/it/tdgen.php b/public/languages/it/tdgen.php index e242ba0..3c80452 100644 --- a/public/languages/it/tdgen.php +++ b/public/languages/it/tdgen.php @@ -55,3 +55,5 @@ $nrep = "N. Rapporto"; $daterep = "Date"; $toreview = "Invia in Revisione"; $toreviewhelp = "Il Fascicolo tecnico verrà inviato a Cimac per la revisione documentale"; +$techapplied = "Eventuali specifiche tecniche applicate (diverse dalle norme armonizzate)"; +$corrtdcertified = "Corrispondenza DPI già certificati:"; diff --git a/public/logopopup.php b/public/logopopup.php index d5df425..a2d5aaa 100644 --- a/public/logopopup.php +++ b/public/logopopup.php @@ -6,47 +6,52 @@ ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); include 'include/headscript.php'; include('languages/' . $_SESSION['langselect'] . '/tdgen.php'); -?> -prepare($sql); - if ($stmt) { - $stmt->bind_param("ssi", $description, $newFileName, $idcompany); $stmt->execute(); + $stmt->close(); } else { echo "Errore durante l'inserimento nel database."; } } else { - echo "C'è stato un errore nel caricamento del file."; + echo "Errore nel caricamento del file."; } + $conn->close(); } else { echo "Sono ammessi solo file PNG e JPG."; } + // Reindirizza per evitare reinvii + header("Location: logopopup.php?idcompany=$idcompany"); + exit(); } ?> @@ -59,7 +64,6 @@ if (isset($_POST['submit'])) { Aggiungi Logo -