Primo commit: trasferimento del progetto PPEasy
This commit is contained in:
@@ -0,0 +1,316 @@
|
||||
<?php
|
||||
// Include Dompdf autoload manually
|
||||
require 'dompdf/autoload.inc.php';
|
||||
|
||||
require_once '../Connections/cmctrfdb.php';
|
||||
require_once '../webassist/mysqli/rsobj.php';
|
||||
//include 'include/headscript.php';
|
||||
include('languages/' . $_SESSION['langselect'] . '/tdgen.php');
|
||||
|
||||
$idtrftd = '467';
|
||||
$idtd = '1';
|
||||
$idcompany = '1';
|
||||
|
||||
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 ($_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>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// *: 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);
|
||||
$checkQuery = "SELECT COUNT(*) as count FROM fillrisk_td WHERE iddata_td = ?";
|
||||
$stmt = $conn->prepare($checkQuery);
|
||||
$stmt->bind_param("i", $idtd);
|
||||
$stmt->execute();
|
||||
$result = $stmt->get_result();
|
||||
$row = $result->fetch_assoc();
|
||||
if ($row['count'] == 0) {
|
||||
// Non ci sono record, quindi procedi con l'inserimento dei dati da riskarea_td
|
||||
|
||||
// Prendi tutti i record da riskarea_td
|
||||
$selectQuery = "SELECT * FROM riskarea_td";
|
||||
$result = $conn->query($selectQuery);
|
||||
|
||||
|
||||
|
||||
while ($riskRow = $result->fetch_assoc()) {
|
||||
// Prepara l'insert per ogni riga trovata in riskarea_td
|
||||
|
||||
$insertQuery = "INSERT INTO fillrisk_td (idriskarea_td, applicable, idcompany, iddata_td, idtrf) VALUES (?, ?, ?, ?, ?)";
|
||||
$stmt = $conn->prepare($insertQuery);
|
||||
|
||||
// Converte il valore 'Y'/'N' della colonna default in un intero (1/0)
|
||||
$applicableValue = ($riskRow['default'] == 'Y') ? 1 : 0;
|
||||
|
||||
$stmt->bind_param("iiiii", $riskRow['idriskarea_td'], $applicableValue, $idcompany, $idtd, $idtrftd);
|
||||
$stmt->execute();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Chiudi lo statement e la connessione se non ti servono più
|
||||
$stmt->close();
|
||||
$conn->close();
|
||||
|
||||
|
||||
// query data_td
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
$sql = "SELECT * FROM data_td LEFT JOIN logo_td ON data_td.manufacturerlogoid=logo_td.idlogo_Td LEFT JOIN qualcheck_td ON data_td.proddescription=qualcheck_td.idqualcheck_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();
|
||||
$prodplace = $row['productionplace_same'];
|
||||
$classshoes = $row['classificationshoes'];
|
||||
$stmt->close();
|
||||
$conn->close();
|
||||
|
||||
$tdquery = new WA_MySQLi_RS("tdquery", $cmctrfdb, 1);
|
||||
$tdquery->setQuery("SELECT * FROM `trf-details` LEFT JOIN modelarticle ON modelarticle.idmodelarticle=`trf-details`.model WHERE `trf-details`.idtrfdetails='$idtrftd'");
|
||||
$tdquery->execute();
|
||||
|
||||
$description = $tdquery->getColumnVal("sample_description");
|
||||
$trfn = $tdquery->getColumnVal("trfnumber");
|
||||
$trfrev = $tdquery->getColumnVal("revtrf");
|
||||
$trfnumb = $trfn . ' VER.' . $trfrev;
|
||||
$photoone = $tdquery->getColumnVal("photoone");
|
||||
$phototwo = $tdquery->getColumnVal("phototwo");
|
||||
$virusprot = $tdquery->getColumnVal("virusprotection");
|
||||
|
||||
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
|
||||
|
||||
$kindcont = "headercertificate";
|
||||
// Usa segnaposti per i parametri
|
||||
|
||||
|
||||
$sqlcontact = "SELECT * FROM contacts LEFT JOIN countries ON countries.idcountries=contacts.country WHERE contacts.idtrf='$idtrftd' AND contacts.kindofcontacts='$kindcont'";
|
||||
|
||||
// Esecuzione della query
|
||||
$resultcontact = $conn->query($sqlcontact);
|
||||
$rowcontact = $resultcontact->fetch_assoc();
|
||||
$companyname = $rowcontact["companyname"];
|
||||
$address = $rowcontact["address"] . ' ' . $rowcontact["cap"] . ' ' . $rowcontact["city"];
|
||||
$country = $rowcontact["namecountry"];
|
||||
$phone = $rowcontact["telephone"];
|
||||
$emailtd = $rowcontact["email"];
|
||||
$vat = $rowcontact["piva"];
|
||||
$mark = $tdquery->getColumnVal("registeredmark");
|
||||
$mark = "Ciao";
|
||||
$contactperson = $rowcontact["contactname"] . ' ' . $rowcontact["contactsurname"];
|
||||
|
||||
// Chemical agent
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
$sqlchemical = "SELECT * FROM trfchemicalagent LEFT JOIN chemicalagent ON trfchemicalagent.idchemicalagent = chemicalagent.idchemicalagent WHERE trfchemicalagent.idtrf = '$idtrftd'";
|
||||
$resultchemical = $conn->query($sqlchemical);
|
||||
$chemicalAgents = []; // Array per memorizzare i risultati
|
||||
|
||||
if ($resultchemical && $resultchemical->num_rows > 0) {
|
||||
// Riempie l'array con i risultati della query
|
||||
while ($rowchemical = $resultchemical->fetch_assoc()) {
|
||||
$chemicalAgents[] = $rowchemical["name_chemicalagent"];
|
||||
}
|
||||
}
|
||||
$conn->close();
|
||||
|
||||
|
||||
// Protection cat add
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
$sqlprotect = "SELECT * FROM trfaddrequirements LEFT JOIN additionalrequirements ON trfaddrequirements.idadditionalrequirements = additionalrequirements.idadditionalrequirements WHERE trfaddrequirements.idtrf = '$idtrftd'";
|
||||
$resultprotect = $conn->query($sqlprotect);
|
||||
$protectionAdd = []; // Array per memorizzare i risultati
|
||||
|
||||
if ($resultprotect && $resultprotect->num_rows > 0) {;
|
||||
// Riempie l'array con i risultati della query
|
||||
while ($rowprotect = $resultprotect->fetch_assoc()) {
|
||||
|
||||
$protectionAdd[] = $rowprotect["name_additionalrequirements_it"];
|
||||
}
|
||||
}
|
||||
$conn->close();
|
||||
|
||||
// Connessione al database
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
|
||||
// Controlla la connessione
|
||||
if ($conn->connect_error) {
|
||||
die("Connessione fallita: " . $conn->connect_error);
|
||||
}
|
||||
|
||||
// Preparazione della query
|
||||
|
||||
$tdquerystd = "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'";
|
||||
|
||||
// Esecuzione della query
|
||||
$resultstd = $conn->query($tdquerystd);
|
||||
|
||||
if (!$resultstd) {
|
||||
die("Errore nell'esecuzione della query: " . $conn->error);
|
||||
}
|
||||
|
||||
|
||||
$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();
|
||||
|
||||
$x = "Ciao";
|
||||
|
||||
// Inizializza Dompdf
|
||||
use Dompdf\Dompdf;
|
||||
|
||||
$dompdf = new Dompdf();
|
||||
|
||||
// Crea il contenuto HTML
|
||||
$html = <<<HTML
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
table { width: 100%; border-collapse: collapse; }
|
||||
th, td { border: 1px solid black; padding: 2px; text-align: left; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Esempio di tabella</h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Nome</th>
|
||||
<th>Età</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>Mario Rossi</td>
|
||||
<td>35</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>{$x}</td>
|
||||
<td>47</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
HTML;
|
||||
|
||||
// Carica il contenuto HTML
|
||||
$dompdf->loadHtml($html);
|
||||
|
||||
|
||||
|
||||
// Imposta le dimensioni e l'orientamento del PDF
|
||||
$dompdf->setPaper('A4', 'portrait');
|
||||
|
||||
// Renderizza il PDF
|
||||
$dompdf->render();
|
||||
|
||||
// Invia il PDF al browser
|
||||
$dompdf->stream("example.pdf", array("Attachment" => false));
|
||||
Reference in New Issue
Block a user