baseline 7.4 as-is produzione

This commit is contained in:
2026-09-09 14:32:53 +00:00
commit 71ec465d7a
3638 changed files with 859299 additions and 0 deletions
+159
View File
@@ -0,0 +1,159 @@
<?php␍
include('include/headscript.php');␍
␍
use PHPMailer\PHPMailer\PHPMailer;␍
use PHPMailer\PHPMailer\Exception;␍
?>␍
<?php␍
require_once '../Connections/cmctrfdb.php'; // Assicurati che il percorso sia corretto␍
$conn = mysqli_connect($servername, $username, $password, $dbname);␍
␍
// Inizia la sessione␍
//session_start();␍
␍
// Verifica se il form è stato inviato␍
if ($_SERVER['REQUEST_METHOD'] == 'POST') {␍
// Estrai i valori inviati dal form␍
$dateTrf = $_POST['datetrf'];␍
$idtd = $_POST['idtd'];␍
$idtrf = $_POST['idtrf'];␍
$review = $_POST['review'];␍
if (isset($_POST['modifytrf'])) {␍
$modifytrf = $_POST['modifytrf'];␍
} else {␍
$modifytrf = "N";␍
}␍
␍
// query data_td␍
$conn = new mysqli($servername, $username, $password, $dbname);␍
$sql = "SELECT data_td.*, auth_users.*, company.*␍
FROM data_td␍
LEFT JOIN auth_users ON data_td.iduser = auth_users.id␍
LEFT JOIN company ON data_td.idcompany = company.idcompany␍
WHERE data_td.iddata_td = ?";␍
$stmt = $conn->prepare($sql);␍
// Controlla se la preparazione della query ha avuto successo␍
if ($stmt === false) {␍
die('Errore nella preparazione della query: ' . $conn->error);␍
}␍
␍
$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'];␍
$namecompanyclient = $row['companyname_company'];␍
$nameclient = $row['first_name'];␍
$emailuserclient = $row['email'];␍
$stmt->close();␍
␍
␍
␍
␍
if ($modifytrf == 'Y') {␍
// Costruisci l'URL con il parametro GET␍
$url = "https://www.cimac.it/modulo_certificazione/public/previewtrf.php?idtrf=" . urlencode($idtrf);␍
␍
// Recupera i cookie di sessione␍
$cookies = '';␍
foreach ($_COOKIE as $key => $value) {␍
$cookies .= $key . '=' . $value . '; ';␍
}␍
␍
// Esegui il file previewtrf.php in background con cURL␍
$ch = curl_init($url);␍
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);␍
curl_setopt($ch, CURLOPT_TIMEOUT, 15); // Timeout leggermente più lungo␍
curl_setopt($ch, CURLOPT_HEADER, 0);␍
curl_setopt($ch, CURLOPT_COOKIE, $cookies); // Invia i cookie di sessione␍
␍
// Aggiungi gestione degli errori cURL␍
$response = curl_exec($ch);␍
if (curl_errno($ch)) {␍
$error_msg = curl_error($ch);␍
error_log("cURL error: " . $error_msg, 3, "../logfile.log"); // Sostituisci con il percorso del tuo file di log␍
} else {␍
// Registra la risposta per debug␍
error_log("cURL response: " . $response, 3, "../logfile.log"); // Sostituisci con il percorso del tuo file di log␍
}␍
curl_close($ch);␍
}␍
␍
// Assicurati che i valori richiesti non siano nulli␍
if (!is_null($dateTrf) && !is_null($idtd) && !is_null($review)) {␍
// Prepara la query di aggiornamento␍
$sql = "UPDATE data_td SET statustd = ?, datelastmod = ?, trfmod = ? WHERE iddata_td = ?";␍
␍
$stmt = $conn->prepare($sql);␍
␍
if ($stmt === false) {␍
die('Errore nella preparazione della query: ' . $conn->error);␍
}␍
␍
// 's' indica stringa, 'i' indica intero␍
$stmt->bind_param('sssi', $review, $dateTrf, $modifytrf, $idtd);␍
␍
if ($stmt->execute()) {␍
// send mail to Certification team␍
␍
require 'phpmailer/src/Exception.php';␍
require 'phpmailer/src/PHPMailer.php';␍
require 'phpmailer/src/SMTP.php';␍
␍
$mail = new PHPMailer(true);␍
$mail->isSMTP(); // Set mailer to use SMTP␍
$mail->Host = $mailhost; // Specify main and backup server␍
$mail->SMTPAuth = true; // Enable SMTP authentication␍
$mail->Username = $mailusername; // SMTP username␍
$mail->Password = $mailpassword; // SMTP password␍
$mail->SMTPSecure = $mailmethod; // Enable encryption, 'ssl' also accepted␍
$mail->Port = $mailport;␍
$mail->From = $fromaddresssmail;␍
$mail->FromName = 'CIMAC Technical File System';␍
␍
if ($review == "Revision") {␍
$htmlContent = "Hai una nuova Revisione da verificare. E' la numero " . $tdnumber . " - cliente " . $namecompanyclient;␍
$mail->addAddress("info@claudiosironi.com"); // Add a recipient␍
$mail->Subject = "Nuova Revisione: " . $tdnumber;␍
$mail->Body = $htmlContent;␍
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';␍
error_log("Invio email per revisione: " . $htmlContent);␍
} else {␍
$htmlContent = "Buongiorno " . $nameclient . ", Hai un Technical file in attesa di firma. ";␍
$htmlContent .= "E' il numero " . $tdnumber . ". ";␍
$htmlContent .= "Collegati al portale CIMAC per procedere alla verifica ed alla firma. Grazie!";␍
$mail->addAddress($emailuserclient); // Add a recipient␍
$mail->Subject = "Nuovo Technical File in attesa di Firma " . $tdnumber;␍
$mail->Body = $htmlContent;␍
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';␍
error_log("Invio email per Technical File: " . $htmlContent);␍
}␍
␍
try {␍
$mail->send();␍
error_log("Email inviata con successo.");␍
} catch (Exception $e) {␍
error_log("Errore nell'invio dell'email: " . $mail->ErrorInfo);␍
}␍
␍
␍
// Reindirizza su archivetd.php se l'aggiornamento è riuscito␍
header('Location: archivetd.php');␍
exit;␍
} else {␍
die('Errore nell\'esecuzione della query: ' . $stmt->error);␍
}␍
␍
$stmt->close();␍
} else {␍
// Gestisci il caso in cui alcuni dati richiesti non siano stati inviati␍
echo "Dati mancanti.";␍
// Qui potresti voler reindirizzare l'utente su una pagina di errore o visualizzare un messaggio␍
}␍
}␍
␍
$conn->close();␍