fixed declaration

This commit is contained in:
2026-10-22 12:01:22 +02:00
parent 450785a4cb
commit 92c507ffe1
9 changed files with 184 additions and 589 deletions
+28 -34
View File
@@ -2,24 +2,33 @@
include('include/headscript.php'); ?>
<?php
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
// pickup the get variable
if (isset($_POST["idtd"])) {
$idtd = $_POST["idtd"];
}
if (isset($_GET["idtd"])) {
$idtd = $_GET["idtd"];
$idtd = (int)($_GET['idtd'] ?? $_POST['idtd'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
if (isset($_GET["tokenresult"])) {
$tokenresult = $_GET["tokenresult"];
}
if (isset($_POST["idtrftd"])) {
$idtrf = $_POST["idtrftd"];
}
if (isset($_GET["idtrftd"])) {
$idtrf = $_GET["idtrftd"];
// query data_td
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$rowtd = $stmt->get_result()->fetch_assoc();
$stmt->close();
$conn->close();
if (!$rowtd) {
die('Dossier non trovato');
}
$statustd = $rowtd['statustd'];
$trfmod = $rowtd['trfmod'];
$idtrftd = (int)$rowtd['idtrf'];
$idtrf = $idtrftd; // stesso valore: usato nei form di invio
if (isset($_POST["contactsendmail"])) {
$contactsendmail = $_POST["contactsendmail"];
@@ -41,21 +50,7 @@ $pdfdomanda = $trfnumberfinal->getColumnVal("pdffilename");
$certname = new WA_MySQLi_RS("certname", $cmctrfdb, 1);
$certname->setQuery("SELECT * FROM certificationtype WHERE certificationtype.idcertificationtype='$idcert'");
$certname->execute(); ?>
<?php
// query data_td
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM data_td WHERE iddata_td = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $idtd); // "i" indica che l'id è un intero
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$statustd = $row['statustd'];
$idtrftd = $row['idtrf'];
$trfmod = $row['trfmod'];
$stmt->close();
$conn->close();
?>
<?php
// Effettua la connessione al database
@@ -292,17 +287,16 @@ $conn->close();
</div><!--end page-title-box-->
</div><!--end col-->
</div>
<div class="row">
<div class="col-lg-12">
<div class="card card-body">
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo htmlspecialchars($trfnumberfinal->getColumnVal("sample_description")); ?> - TF: <?php echo htmlspecialchars($rowtd['tdnumber']); ?>-Rev.<?php echo (int)$rowtd['td_rev']; ?></h4>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="card-body">
<div class="media">
<?php include('include/appform.php'); ?>
</div><!--end media-->
</div><!--end card-body-->
</div><!--end card-->
<!-- card for optional TRF -->
+26 -37
View File
@@ -16,26 +16,30 @@ if (isset($companyData["logoimage"]) && !empty($companyData["logoimage"])) {
$companylogo = $companyData["logoimage"];
$_SESSION['companylogo'] = $companylogo;
}
// pickup the get variable
if (isset($_POST["idtrf"])) {
$idtrf = $_POST["idtrf"];
}
if (isset($_GET["idtrf"])) {
$idtrf = $_GET["idtrf"];
$idtd = (int)($_POST['idtd'] ?? $_GET['idtd'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
if (isset($_GET["idtrftd"])) {
$idtrftd = $_GET["idtrftd"];
}
if (isset($_POST["idtrftd"])) {
$idtrftd = $_GET["idtrftd"];
}
if (isset($_GET["idtd"])) {
$idtd = $_GET["idtd"];
}
if (isset($_POST["idtd"])) {
$idtd = $_POST["idtd"];
// query data_td
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$rowtd = $stmt->get_result()->fetch_assoc();
$stmt->close();
$conn->close();
if (!$rowtd) {
die('Dossier non trovato');
}
$statustd = $rowtd['statustd'];
$idtrftd = (int)$rowtd['idtrf'];
$idtrf = $idtrftd;
$tdnumber = $rowtd['tdnumber'];
$tdrev = $rowtd['td_rev'];
$trfmod = $rowtd['trfmod'];
if (isset($_POST["tokensignatureon"])) {
$tokensignatureon = $_POST["tokensignatureon"];
}
@@ -61,7 +65,8 @@ if (isset($_POST["adminconfirm"])) {
<?php
$tokenid = $user->present()->signaturecode;
if ($tokenid != $tokensignatureon) {
header("Location: declaration.php?idtrf=$idtrf&tokenresult=ko");
header("Location: declarationtd.php?idtd=$idtd&tokenresult=ko");
exit;
} else {
// update trf details`
if (isset($_POST["formdeclaration"])) {
@@ -92,23 +97,7 @@ if ($tokenid != $tokensignatureon) {
$revnumb = $trfnumberfinal->getColumnVal("revtrf");
?>
<?php $idcert = $trfnumberfinal->getColumnVal("idcertification") ?>
<?php
// query data_td
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM data_td WHERE iddata_td = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $idtd); // "i" indica che l'id è un intero
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$statustd = $row['statustd'];
$idtrftd = $row['idtrf'];
$tdnumber = $row['tdnumber'];
$tdrev = $row['td_rev'];
$trfmod = $row['trfmod'];
$stmt->close();
$conn->close();
?>
<?php
$certname = new WA_MySQLi_RS("certname", $cmctrfdb, 1);
$certname->setQuery("SELECT * FROM certificationtype WHERE certificationtype.idcertificationtype='$idcert'");
@@ -317,7 +306,7 @@ if ($tokenid != $tokensignatureon) {
$mail->addAddress($emailuser); // Add a recipient
$mail->addAttachment($file1); // Add attachments
// Optional name
$mail->Subject = "Technical File:" . $tdnumber;
$mail->Subject = "Technical File: " . $tdnumber . " Rev." . $tdrev;
$mail->Body = $htmlContent;
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if ($adminconfirm == 'N') {
@@ -343,7 +332,7 @@ if ($tokenid != $tokensignatureon) {
$mail_cs->addAddress('d.dondena@cimac.it');
$mail_cs->addAddress('c.boscaino@cimac.it');
$mail_cs->addAddress('a.boscaino@cimac.it');
$mail_cs->Subject = "Nuovo Fascicolo Tecnico Inserito: $tdnumber da $companyname";
$mail_cs->Subject = "Nuovo Fascicolo Tecnico Inserito: $tdnumber Rev.$tdrev da $companyname";
$mail_cs->Body = "Buongiorno,\n\nla presente mail per segnalare l'inserimento di un nuovo fascicolo tecnico da parte dell'azienda " . $companyname . ". Fascicolo tecnico numero " . $tdnumber . ".";
$mail_cs->AltBody = "Buongiorno,\n\nla presente mail per segnalare l'inserimento di un nuovo fascicolo tecnico da parte dell'azienda " . $companyname . ". Fascicolo tecnico numero " . $tdnumber . ".";
if ($adminconfirm == 'N') {
+31 -22
View File
@@ -3,24 +3,32 @@ include('include/headscript.php');
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
?>
<?php
// pickup the get variable
if (isset($_GET["idtrf"])) {
$idtrf = $_GET["idtrf"];
}
?>
<?php if (isset($_GET['idtrftd'])) {
$idtrftd = $_GET['idtrftd'];
}
if (isset($_POST['idtrftd'])) {
$idtrftd = $_POST['idtrftd'];
}
if (isset($_POST['iddata_td'])) {
$idtd = $_POST['iddata_td'];
}
if (isset($_GET['idtd'])) {
$idtd = $_GET['idtd'];
$idtd = (int)($_GET['idtd'] ?? $_POST['iddata_td'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$rowtd = $stmt->get_result()->fetch_assoc();
$stmt->close();
if (!$rowtd) {
die('Dossier non trovato');
}
$idtrftd = (int)$rowtd['idtrf'];
$idcompany = (int)$rowtd['idcompany'];
// descrizione articolo (dal TRF) per il titolo
$stmt = $conn->prepare("SELECT sample_description FROM `trf-details` WHERE idtrfdetails = ?");
$stmt->bind_param("i", $idtrftd);
$stmt->execute();
$description = $stmt->get_result()->fetch_assoc()['sample_description'] ?? '';
$stmt->close();
$conn->close();
?>
<?php
// query data_td
@@ -138,15 +146,16 @@ $conn->close();
</div><!--end page-title-box-->
</div><!--end col-->
</div>
<div class="row">
<div class="col-lg-12">
<div class="card card-body">
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo htmlspecialchars($description); ?> - TF: <?php echo htmlspecialchars($rowtd['tdnumber']); ?>-Rev.<?php echo (int)$rowtd['td_rev']; ?></h4>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<?php // documents
?>
+1 -1
View File
@@ -905,7 +905,7 @@ $conn->close();
<input type="hidden" class="form-control data-field" value="<?php echo $idtd; ?>" id="iddata_td" name="iddata_td">
<br>
<button class="btn btn-gradient-success waves-effect waves-light" type="submit"><?php echo $proceed; ?></button>
<a href="techdossier_step2.php?idtd=<?php echo (int)$idtd; ?>" class="btn btn-gradient-success waves-effect waves-light"><?php echo $proceed; ?></a>
<button type="button" class="btn btn-dark waves-effect waves-light" onclick="history.back()"><?php echo $backstep; ?></button>
<a href="techdossier_stepsummarypreview.php?idtd=<?php echo $idtd; ?>&idtrftd=<?php echo $idtrftd; ?>" target='_blank'><button type="button" class="btn btn-dark waves-effect waves-light">Preview</button></a>
+19 -29
View File
@@ -4,18 +4,26 @@
include 'include/headscript.php';
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
?>
<?php if (isset($_GET['idtrftd'])) {
$idtrftd = $_GET['idtrftd'];
<?php
$idtd = (int)($_GET['idtd'] ?? $_POST['iddata_td'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
if (isset($_POST['idtrftd'])) {
$idtrftd = $_POST['idtrftd'];
}
if (isset($_POST['iddata_td'])) {
$idtd = $_POST['iddata_td'];
}
if (isset($_GET['idtd'])) {
$idtd = $_GET['idtd'];
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$row = $stmt->get_result()->fetch_assoc();
$stmt->close();
$conn->close();
if (!$row) {
die('Dossier non trovato');
}
$idtrftd = (int)$row['idtrf'];
$idcompany = (int)$row['idcompany'];
?>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
@@ -152,18 +160,6 @@ $conn->close();
*/
?>
<?php
// query data_td
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM data_td WHERE iddata_td = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $idtd); // "i" indica che l'id è un intero
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$stmt->close();
$conn->close();
?>
<?php
$tdquery = new WA_MySQLi_RS("tdquery", $cmctrfdb, 1);
$tdquery->setQuery("SELECT * FROM `trf-details` WHERE `trf-details`.idtrfdetails='$idtrftd'");
$tdquery->execute();
@@ -173,12 +169,6 @@ $trfn = $tdquery->getColumnVal("trfnumber");
$trfrev = $tdquery->getColumnVal("revtrf");
$trfnumb = $trfn . ' VER.' . $trfrev;
?>
<?php
$archivetrflist = new WA_MySQLi_RS("archivetrflist", $cmctrfdb, 0);
$archivetrflist->setQuery("SELECT * FROM `trf-details` LEFT JOIN auth_users ON `trf-details`.iduser=auth_users.id LEFT JOIN article_type ON `trf-details`.idarticletype=article_type.idarticletype LEFT JOIN certificationtype ON certificationtype.idcertificationtype=`trf-details`.idcertification WHERE `trf-details`.idcompany='$idcompany' AND `trf-details`.signedon <>'' ORDER BY `trf-details`.trfnumber");
$archivetrflist->execute(); ?>
<!DOCTYPE html>
<html lang="en">
@@ -352,7 +342,7 @@ $archivetrflist->execute(); ?>
<div class="row">
<div class="col-lg-12">
<div class="card card-body">
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo $description; ?> - TRF: <?php echo $trfnumb; ?></h4>
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo $description; ?> - TF: <?php echo htmlspecialchars($row['tdnumber']); ?>-Rev.<?php echo (int)$row['td_rev']; ?></h4>
<p class="card-text text-muted "><?php echo $questionstarttd; ?></p>
</div><!--end card-->
+17 -122
View File
@@ -4,115 +4,28 @@
include 'include/headscript.php';
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
?>
<?php if (isset($_GET['idtrftd'])) {
$idtrftd = $_GET['idtrftd'];
}
if (isset($_POST['idtrftd'])) {
$idtrftd = $_POST['idtrftd'];
}
if (isset($_POST['iddata_td'])) {
$idtd = $_POST['iddata_td'];
}
if (isset($_GET['idtd'])) {
$idtd = $_GET['idtd'];
}
?>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Preparazione di un array per contenere i valori sanificati
$sanitizedPost = [];
$errors = [];
// Lista dei campi da sanificare e controllare se sono piene
$fields = [
'productionplace_same',
'classificationshoes',
'destinationuseppe',
'manufacutringprocess',
'ppeageing',
'obsolescencedeadline',
'localisationppemarking',
'manufacturerlogoid',
'sizeexamplecemark',
'monthyearprod',
'serialbatchnumber',
'standarduse',
'symbolsaddreq',
'proddescription',
'packaging',
'declarconformity',
'webaddress'
];
foreach ($fields as $field) {
if (!empty($_POST[$field])) {
// Utilizzo FILTER_SANITIZE_STRING per rimuovere i tag e sanificare il testo
$sanitizedPost[$field] = filter_input(INPUT_POST, $field, FILTER_SANITIZE_STRING);
}
}
// Controllo se ci sono stati errori
if (count($errors) === 0) {
// Tutti i campi sono stati compilati e sanificati
// Qui puoi procedere con l'elaborazione dei dati
// Ad esempio, stampare i valori o salvarli in un database
foreach ($sanitizedPost as $key => $value) {
}
} else {
// Ci sono stati errori, ad esempio alcuni campi potrebbero essere vuoti
// Puoi gestire gli errori qui, ad esempio stampandoli
foreach ($errors as $key => $message) {
echo "Errore nel campo $key: $message<br>";
}
}
$idtd = (int)($_GET['idtd'] ?? $_POST['iddata_td'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
?>
<?php
// *: update data_td
// Assicurati che la richiesta sia di tipo POST e che l'ID sia stato fornito
$conn = mysqli_connect($servername, $username, $password, $dbname);
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$rowtd = $stmt->get_result()->fetch_assoc();
$stmt->close();
$conn->close();
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($idtrftd)) {
// Preparazione della parte iniziale della query di aggiornamento
$updateQuery = "UPDATE data_td SET ";
$updateParts = [];
$queryParams = [];
// Iterazione sui campi sanificati per costruire la query di aggiornamento
foreach ($sanitizedPost as $key => $value) {
// Escludi idtrftd dalla parte di aggiornamento della query
if ($key !== 'idtrftd') {
$updateParts[] = "$key = ?";
$queryParams[] = $value;
}
}
// Controllo se ci sono campi da aggiornare
if (count($updateParts) > 0) {
$updateQuery .= join(', ', $updateParts) . " WHERE idtrf = ?";
$queryParams[] = $idtrftd; // Aggiungi l'ID alla fine dei parametri della query
// Preparazione della query
$stmt = $conn->prepare($updateQuery);
// Costruzione del tipo di parametri (stringhe, in questo caso)
$types = str_repeat('s', count($queryParams));
// Aggiunta dei parametri alla statement
$stmt->bind_param($types, ...$queryParams);
// Esecuzione della query
if ($stmt->execute()) {
}
// Chiusura dello statement
$stmt->close();
}
if (!$rowtd) {
die('Dossier non trovato');
}
$idtrftd = (int)$rowtd['idtrf'];
$idcompany = (int)$rowtd['idcompany'];
?>
<?php // insert risktd
/*
$conn = new mysqli($servername, $username, $password, $dbname);
@@ -152,18 +65,6 @@ $conn->close();
*/
?>
<?php
// query data_td
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM data_td WHERE iddata_td = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $idtd); // "i" indica che l'id è un intero
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$stmt->close();
$conn->close();
?>
<?php
$tdquery = new WA_MySQLi_RS("tdquery", $cmctrfdb, 1);
$tdquery->setQuery("SELECT * FROM `trf-details` WHERE `trf-details`.idtrfdetails='$idtrftd'");
@@ -227,12 +128,6 @@ switch ($idart) {
?>
<?php
$archivetrflist = new WA_MySQLi_RS("archivetrflist", $cmctrfdb, 0);
$archivetrflist->setQuery("SELECT * FROM `trf-details` LEFT JOIN auth_users ON `trf-details`.iduser=auth_users.id LEFT JOIN article_type ON `trf-details`.idarticletype=article_type.idarticletype LEFT JOIN certificationtype ON certificationtype.idcertificationtype=`trf-details`.idcertification WHERE `trf-details`.idcompany='$idcompany' AND `trf-details`.signedon <>'' ORDER BY `trf-details`.trfnumber");
$archivetrflist->execute(); ?>
<!DOCTYPE html>
<html lang="en">
@@ -400,7 +295,7 @@ $archivetrflist->execute(); ?>
<div class="row">
<div class="col-lg-12">
<div class="card card-body">
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo $description; ?> - TRF: <?php echo $trfnumb; ?></h4>
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo $description; ?> - TF: <?php echo htmlspecialchars($rowtd['tdnumber']); ?>-Rev.<?php echo (int)$rowtd['td_rev']; ?></h4>
<p class="card-text text-muted "><?php echo $questionstarttd; ?></p>
</div><!--end card-->
+17 -115
View File
@@ -3,123 +3,29 @@
<?php
include 'include/headscript.php';
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
?>
<?php if (isset($_GET['idtrftd'])) {
$idtrftd = $_GET['idtrftd'];
}
if (isset($_POST['idtrftd'])) {
$idtrftd = $_POST['idtrftd'];
}
if (isset($_POST['iddata_td'])) {
$idtd = $_POST['iddata_td'];
}
if (isset($_GET['iddata_td'])) {
$idtd = $_GET['iddata_td'];
}
if (isset($_GET['idtd'])) {
$idtd = $_GET['idtd'];
}
if (isset($_POST['idtd'])) {
$idtd = $_POST['idtd'];
}
?>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Preparazione di un array per contenere i valori sanificati
$sanitizedPost = [];
$errors = [];
// Lista dei campi da sanificare e controllare se sono piene
$fields = [
'productionplace_same',
'classificationshoes',
'destinationuseppe',
'manufacutringprocess',
'ppeageing',
'obsolescencedeadline',
'localisationppemarking',
'manufacturerlogoid',
'sizeexamplecemark',
'monthyearprod',
'serialbatchnumber',
'standarduse',
'symbolsaddreq',
'proddescription',
'packaging',
'declarconformity',
'webaddress'
];
foreach ($fields as $field) {
if (!empty($_POST[$field])) {
// Utilizzo FILTER_SANITIZE_STRING per rimuovere i tag e sanificare il testo
$sanitizedPost[$field] = filter_input(INPUT_POST, $field, FILTER_SANITIZE_STRING);
}
}
// Controllo se ci sono stati errori
if (count($errors) === 0) {
// Tutti i campi sono stati compilati e sanificati
// Qui puoi procedere con l'elaborazione dei dati
// Ad esempio, stampare i valori o salvarli in un database
foreach ($sanitizedPost as $key => $value) {
}
} else {
// Ci sono stati errori, ad esempio alcuni campi potrebbero essere vuoti
// Puoi gestire gli errori qui, ad esempio stampandoli
foreach ($errors as $key => $message) {
echo "Errore nel campo $key: $message<br>";
}
}
$idtd = (int)($_GET['idtd'] ?? $_GET['iddata_td'] ?? $_POST['iddata_td'] ?? $_POST['idtd'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
?>
<?php
// *: update data_td
// Assicurati che la richiesta sia di tipo POST e che l'ID sia stato fornito
$conn = mysqli_connect($servername, $username, $password, $dbname);
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$rowtd = $stmt->get_result()->fetch_assoc();
$stmt->close();
$conn->close();
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($idtrftd)) {
// Preparazione della parte iniziale della query di aggiornamento
$updateQuery = "UPDATE data_td SET ";
$updateParts = [];
$queryParams = [];
// Iterazione sui campi sanificati per costruire la query di aggiornamento
foreach ($sanitizedPost as $key => $value) {
// Escludi idtrftd dalla parte di aggiornamento della query
if ($key !== 'idtrftd') {
$updateParts[] = "$key = ?";
$queryParams[] = $value;
}
}
// Controllo se ci sono campi da aggiornare
if (count($updateParts) > 0) {
$updateQuery .= join(', ', $updateParts) . " WHERE idtrf = ?";
$queryParams[] = $idtrftd; // Aggiungi l'ID alla fine dei parametri della query
// Preparazione della query
$stmt = $conn->prepare($updateQuery);
// Costruzione del tipo di parametri (stringhe, in questo caso)
$types = str_repeat('s', count($queryParams));
// Aggiunta dei parametri alla statement
$stmt->bind_param($types, ...$queryParams);
// Esecuzione della query
if ($stmt->execute()) {
}
// Chiusura dello statement
$stmt->close();
}
if (!$rowtd) {
die('Dossier non trovato');
}
$idtrftd = (int)$rowtd['idtrf'];
$idcompany = (int)$rowtd['idcompany'];
?>
<?php // insert risktd
$conn = new mysqli($servername, $username, $password, $dbname);
@@ -285,11 +191,7 @@ $tdquerystd->setQuery("SELECT * FROM trfstandards LEFT JOIN standards ON trfstan
$tdquerystd->execute();
?>
<?php
$archivetrflist = new WA_MySQLi_RS("archivetrflist", $cmctrfdb, 0);
$archivetrflist->setQuery("SELECT * FROM `trf-details` LEFT JOIN auth_users ON `trf-details`.iduser=auth_users.id LEFT JOIN article_type ON `trf-details`.idarticletype=article_type.idarticletype LEFT JOIN certificationtype ON certificationtype.idcertificationtype=`trf-details`.idcertification WHERE `trf-details`.idcompany='$idcompany' AND `trf-details`.signedon <>'' ORDER BY `trf-details`.trfnumber");
$archivetrflist->execute(); ?>
<!DOCTYPE html>
<html lang="en">
@@ -499,7 +401,7 @@ $archivetrflist->execute(); ?>
<div class="row">
<div class="col-lg-12">
<div class="card card-body">
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo $description; ?> - TRF: <?php echo $trfnumb; ?></h4>
<h4 class="card-title mt-0"><?php echo $articletd; ?> <?php echo $description; ?> - TF: <?php echo htmlspecialchars($rowtd['tdnumber']); ?>-Rev.<?php echo (int)$rowtd['td_rev']; ?></h4>
<p class="card-text text-muted ">Preview</p>
</div><!--end card-->
+20 -112
View File
@@ -23,118 +23,28 @@ require_once '../webassist/mysqli/rsobj.php';
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
include('languages/' . $_SESSION['langselect'] . '/general.php');
$idcompany = $_SESSION["compid"];
if (isset($_GET['idtrftd'])) {
$idtrftd = $_GET['idtrftd'];
$idtd = (int)($_GET['idtd'] ?? $_GET['iddata_td'] ?? $_POST['iddata_td'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
if (isset($_POST['idtrftd'])) {
$idtrftd = $_POST['idtrftd'];
}
if (isset($_POST['iddata_td'])) {
$idtd = $_POST['iddata_td'];
}
if (isset($_GET['iddata_td'])) {
$idtd = $_GET['iddata_td'];
}
if (isset($_GET['idtd'])) {
$idtd = $_GET['idtd'];
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT * FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$rowtd = $stmt->get_result()->fetch_assoc();
$stmt->close();
$conn->close();
if (!$rowtd) {
die('Dossier non trovato');
}
$idtrftd = (int)$rowtd['idtrf'];
$idcompany = (int)$rowtd['idcompany'];
$base_url = "https://www.cimac.it/modulo_certificazione/public/";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Preparazione di un array per contenere i valori sanificati
$sanitizedPost = [];
$errors = [];
// Lista dei campi da sanificare e controllare se sono piene
$fields = [
'productionplace_same',
'classificationshoes',
'destinationuseppe',
'manufacutringprocess',
'ppeageing',
'obsolescencedeadline',
'localisationppemarking',
'manufacturerlogoid',
'sizeexamplecemark',
'monthyearprod',
'serialbatchnumber',
'standarduse',
'symbolsaddreq',
'proddescription',
'packaging',
'declarconformity',
'webaddress',
'techspecificationapplied'
];
foreach ($fields as $field) {
if (!empty($_POST[$field])) {
// Utilizzo FILTER_SANITIZE_STRING per rimuovere i tag e sanificare il testo
$sanitizedPost[$field] = filter_input(INPUT_POST, $field, FILTER_SANITIZE_STRING);
}
}
// Controllo se ci sono stati errori
if (count($errors) === 0) {
// Tutti i campi sono stati compilati e sanificati
// Qui puoi procedere con l'elaborazione dei dati
// Ad esempio, stampare i valori o salvarli in un database
foreach ($sanitizedPost as $key => $value) {
}
} else {
// Ci sono stati errori, ad esempio alcuni campi potrebbero essere vuoti
// Puoi gestire gli errori qui, ad esempio stampandoli
foreach ($errors as $key => $message) {
echo "Errore nel campo $key: $message<br>";
}
}
}
// *: update data_td
// Assicurati che la richiesta sia di tipo POST e che l'ID sia stato fornito
$conn = mysqli_connect($servername, $username, $password, $dbname);
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($idtrftd)) {
// Preparazione della parte iniziale della query di aggiornamento
$updateQuery = "UPDATE data_td SET ";
$updateParts = [];
$queryParams = [];
// Iterazione sui campi sanificati per costruire la query di aggiornamento
foreach ($sanitizedPost as $key => $value) {
// Escludi idtrftd dalla parte di aggiornamento della query
if ($key !== 'idtrftd') {
$updateParts[] = "$key = ?";
$queryParams[] = $value;
}
}
// Controllo se ci sono campi da aggiornare
if (count($updateParts) > 0) {
$updateQuery .= join(', ', $updateParts) . " WHERE idtrf = ?";
$queryParams[] = $idtrftd; // Aggiungi l'ID alla fine dei parametri della query
// Preparazione della query
$stmt = $conn->prepare($updateQuery);
// Costruzione del tipo di parametri (stringhe, in questo caso)
$types = str_repeat('s', count($queryParams));
// Aggiunta dei parametri alla statement
$stmt->bind_param($types, ...$queryParams);
// Esecuzione della query
if ($stmt->execute()) {
}
// Chiusura dello statement
$stmt->close();
}
}
$conn = new mysqli($servername, $username, $password, $dbname);
@@ -203,7 +113,7 @@ $description = $tdquery->getColumnVal("sample_description");
$trfn = $tdquery->getColumnVal("trfnumber");
$trfrev = $tdquery->getColumnVal("revtrf");
$mandat = $tdquery->getColumnVal("otherclient");
$tdrev = $tdquery->getColumnVal("td_rev");
$tdrev = (int)$rowtd['td_rev'];
$tdnumber = $row['tdnumber'];
$trfnumb = $trfn . ' VER.' . $trfrev;
$trftdnumber = $trfn . 'TF';
@@ -323,9 +233,7 @@ $tdquerystd = new WA_MySQLi_RS("tdquerystd", $cmctrfdb, 1);
$tdquerystd->setQuery("SELECT * FROM trfstandards LEFT JOIN standards ON trfstandards.idstandards=standards.idstandards LEFT JOIN protectioncategory ON protectioncategory.idprotectioncategory=trfstandards.idprotectioncategory LEFT JOIN dpicategory ON dpicategory.iddpicategory=trfstandards.iddpicategory WHERE trfstandards.idtrfdetails='$idtrftd'");
$tdquerystd->execute();
$archivetrflist = new WA_MySQLi_RS("archivetrflist", $cmctrfdb, 0);
$archivetrflist->setQuery("SELECT * FROM `trf-details` LEFT JOIN auth_users ON `trf-details`.iduser=auth_users.id LEFT JOIN article_type ON `trf-details`.idarticletype=article_type.idarticletype LEFT JOIN certificationtype ON certificationtype.idcertificationtype=`trf-details`.idcertification WHERE `trf-details`.idcompany='$idcompany' AND `trf-details`.signedon <>'' ORDER BY `trf-details`.trfnumber");
$archivetrflist->execute();
// query prod place
@@ -430,7 +338,7 @@ $html = <<<HTML
</div>
</footer>
<h3 style="text-align: center;">File Tecnico n./ Technical File N.: $tdnumber</h3>
<h3 style="text-align: center;">File Tecnico n./ Technical File N.: $tdnumber - Rev. $tdrev</h3>
<table>
<thead>
+25 -117
View File
@@ -27,117 +27,27 @@ require_once '../webassist/mysqli/rsobj.php';
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
include('languages/' . $_SESSION['langselect'] . '/general.php');
$idcompany = $_SESSION["compid"];
if (isset($_GET['idtrftd'])) {
$idtrftd = $_GET['idtrftd'];
// usa $idtd già impostato da sendtd.php, altrimenti dalla richiesta
$idtd = (int)($idtd ?? $_POST['idtd'] ?? $_GET['idtd'] ?? 0);
if ($idtd <= 0) {
die('ID dossier mancante');
}
if (isset($_POST['idtrftd'])) {
$idtrftd = $_POST['idtrftd'];
}
if (isset($_POST['iddata_td'])) {
$idtd = $_POST['iddata_td'];
}
if (isset($_GET['iddata_td'])) {
$idtd = $_GET['iddata_td'];
}
if (isset($_GET['idtd'])) {
$idtd = $_GET['idtd'];
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("SELECT idtrf, idcompany FROM data_td WHERE iddata_td = ?");
$stmt->bind_param("i", $idtd);
$stmt->execute();
$rowids = $stmt->get_result()->fetch_assoc();
$stmt->close();
$conn->close();
if (!$rowids) {
die('Dossier non trovato');
}
$idtrftd = (int)$rowids['idtrf'];
$idcompany = (int)$rowids['idcompany'];
$base_url = "https://www.cimac.it/modulo_certificazione/public/";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Preparazione di un array per contenere i valori sanificati
$sanitizedPost = [];
$errors = [];
// Lista dei campi da sanificare e controllare se sono piene
$fields = [
'productionplace_same',
'classificationshoes',
'destinationuseppe',
'manufacutringprocess',
'ppeageing',
'obsolescencedeadline',
'localisationppemarking',
'manufacturerlogoid',
'sizeexamplecemark',
'monthyearprod',
'serialbatchnumber',
'standarduse',
'symbolsaddreq',
'proddescription',
'packaging',
'declarconformity',
'webaddress',
'techspecificationapplied'
];
foreach ($fields as $field) {
if (!empty($_POST[$field])) {
// Utilizzo FILTER_SANITIZE_STRING per rimuovere i tag e sanificare il testo
$sanitizedPost[$field] = filter_input(INPUT_POST, $field, FILTER_SANITIZE_STRING);
}
}
// Controllo se ci sono stati errori
if (count($errors) === 0) {
// Tutti i campi sono stati compilati e sanificati
// Qui puoi procedere con l'elaborazione dei dati
// Ad esempio, stampare i valori o salvarli in un database
foreach ($sanitizedPost as $key => $value) {
}
} else {
// Ci sono stati errori, ad esempio alcuni campi potrebbero essere vuoti
// Puoi gestire gli errori qui, ad esempio stampandoli
foreach ($errors as $key => $message) {
echo "Errore nel campo $key: $message<br>";
}
}
}
// *: update data_td
// Assicurati che la richiesta sia di tipo POST e che l'ID sia stato fornito
$conn = mysqli_connect($servername, $username, $password, $dbname);
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($idtrftd)) {
// Preparazione della parte iniziale della query di aggiornamento
$updateQuery = "UPDATE data_td SET ";
$updateParts = [];
$queryParams = [];
// Iterazione sui campi sanificati per costruire la query di aggiornamento
foreach ($sanitizedPost as $key => $value) {
// Escludi idtrftd dalla parte di aggiornamento della query
if ($key !== 'idtrftd') {
$updateParts[] = "$key = ?";
$queryParams[] = $value;
}
}
// Controllo se ci sono campi da aggiornare
if (count($updateParts) > 0) {
$updateQuery .= join(', ', $updateParts) . " WHERE idtrf = ?";
$queryParams[] = $idtrftd; // Aggiungi l'ID alla fine dei parametri della query
// Preparazione della query
$stmt = $conn->prepare($updateQuery);
// Costruzione del tipo di parametri (stringhe, in questo caso)
$types = str_repeat('s', count($queryParams));
// Aggiunta dei parametri alla statement
$stmt->bind_param($types, ...$queryParams);
// Esecuzione della query
if ($stmt->execute()) {
}
// Chiusura dello statement
$stmt->close();
}
}
$conn = new mysqli($servername, $username, $password, $dbname);
@@ -327,9 +237,7 @@ $tdquerystd = new WA_MySQLi_RS("tdquerystd", $cmctrfdb, 1);
$tdquerystd->setQuery("SELECT * FROM trfstandards LEFT JOIN standards ON trfstandards.idstandards=standards.idstandards LEFT JOIN protectioncategory ON protectioncategory.idprotectioncategory=trfstandards.idprotectioncategory LEFT JOIN dpicategory ON dpicategory.iddpicategory=trfstandards.iddpicategory WHERE trfstandards.idtrfdetails='$idtrftd'");
$tdquerystd->execute();
$archivetrflist = new WA_MySQLi_RS("archivetrflist", $cmctrfdb, 0);
$archivetrflist->setQuery("SELECT * FROM `trf-details` LEFT JOIN auth_users ON `trf-details`.iduser=auth_users.id LEFT JOIN article_type ON `trf-details`.idarticletype=article_type.idarticletype LEFT JOIN certificationtype ON certificationtype.idcertificationtype=`trf-details`.idcertification WHERE `trf-details`.idcompany='$idcompany' AND `trf-details`.signedon <>'' ORDER BY `trf-details`.trfnumber");
$archivetrflist->execute();
// query prod place
@@ -445,7 +353,7 @@ $html = <<<HTML
</div>
</footer>
<h3 style="text-align: center;">File Tecnico numero: $tdnumber</h3>
<h3 style="text-align: center;">File Tecnico numero: $tdnumber - Rev. $tdrev</h3>
<table>
<thead>
@@ -743,7 +651,7 @@ $hasPhotos = false;
// Check for photocover
if (!empty($photocover)) {
$coverPath = $base_url . "uploadimages/" . htmlspecialchars($photocover);
$localCoverPath = $_SERVER['DOCUMENT_ROOT'] . "/modulo_certificazione/public/uploadimages/" . htmlspecialchars($photocover);
$localCoverPath = __DIR__ . "/uploadimages/" . htmlspecialchars($photocover);
if (file_exists($localCoverPath)) {
$imageData = base64_encode(file_get_contents($localCoverPath));
$mimeType = mime_content_type($localCoverPath);
@@ -961,7 +869,7 @@ $partsquery->execute();
while (!$partsquery->atEnd()) {
// Decodifica e sanitizza ogni valore del database
$partsidnumber = htmlspecialchars(html_entity_decode($partsquery->getColumnVal('partsidnumber'), ENT_QUOTES | ENT_HTML5, 'UTF-8'));
$description = htmlspecialchars(html_entity_decode($partsquery->getColumnVal('description_identificationparts'), ENT_QUOTES | ENT_HTML5, 'UTF-8'));
$partdescription = htmlspecialchars(html_entity_decode($partsquery->getColumnVal('description_identificationparts'), ENT_QUOTES | ENT_HTML5, 'UTF-8'));
$article = htmlspecialchars(html_entity_decode($partsquery->getColumnVal('article_identificationparts'), ENT_QUOTES | ENT_HTML5, 'UTF-8'));
$color = htmlspecialchars(html_entity_decode($partsquery->getColumnVal('color_identificationparts'), ENT_QUOTES | ENT_HTML5, 'UTF-8'));
$material = htmlspecialchars(html_entity_decode($partsquery->getColumnVal('material_identificationparts'), ENT_QUOTES | ENT_HTML5, 'UTF-8'));
@@ -971,7 +879,7 @@ while (!$partsquery->atEnd()) {
// Costruisci la riga HTML
$html .= "<tr>
<td class='header-data'>" . $partsidnumber . "</td>
<td class='header-data'>" . $description . "</td>
<td class='header-data'>" . $partdescription . "</td>
<td class='header-data'>" . $article . "</td>
<td class='header-data'>" . $color . "</td>
<td class='header-data'>" . $material . "</td>
@@ -1026,10 +934,10 @@ $html .= <<<HTML
<tbody>
HTML;
if ($cemarkup == 'Y') {
if ($cemarkup == 'Y' && $fileUploaded) {
// $filePathdoc = '{$base_url}uploadtddocuments/' . htmlspecialchars($fileDetails['filename_fileattached']);
$filePathdoc = $base_url . "uploadtddocuments/" . htmlspecialchars($fileDetails['filename_fileattached']);
$localFilePath = $_SERVER['DOCUMENT_ROOT'] . "/modulo_certificazione/public/uploadtddocuments/" . htmlspecialchars($fileDetails['filename_fileattached']);
$localFilePath = __DIR__ . "/uploadtddocuments/" . htmlspecialchars($fileDetails['filename_fileattached']);
$fileDescription = htmlspecialchars($fileDetails['description_fileattached']);
$fileExtension = strtolower(pathinfo($filePathdoc, PATHINFO_EXTENSION));