﻿<?php
session_start();
// Controlla se sono stati passati i dati tramite la sessione
if (isset($_SESSION['utente']) && isset($_SESSION['abl_impianto']) && isset($_SESSION['codice']) && isset($_SESSION['id_impianto']) && isset($_SESSION['nome_utente']) && isset($_SESSION['cognome_utente']) 
&& isset($_SESSION['record_password']) && isset($_SESSION['record_username']) && isset($_SESSION['regione'])  && isset($_SESSION['NOME_Impianto']) && isset($_SESSION['Matricola_CALL']) 
&& isset($_SESSION['Analisi35']) && isset($_SESSION['nvasca'])) {

$utente = $_SESSION['utente'];
$abl_impianto = $_SESSION['abl_impianto'];
$codice = $_SESSION['codice'];
$id_impianto = $_SESSION['id_impianto'];
$nome_utente = $_SESSION['nome_utente'];
$cognome_utente = $_SESSION['cognome_utente'];
$record_password = $_SESSION['record_password'];
$record_username = $_SESSION['record_username'];
$indice_impianto = $_SESSION['indice_impianto'];
$regione = $_SESSION['regione'];
$NOME_Impianto = $_SESSION['NOME_Impianto'];
$Matricola_CALL = $_SESSION['Matricola_CALL'];
$Analisi35 = $_SESSION['Analisi35']; // Questa variabile se 0 = 5 analisi, se 1 = 3 analisi
$nvasca = $_SESSION['nvasca'];

}
include 'header.php'; // Per creare la barra intestazione in cima alla pagina con il logo

if ($Analisi35 == 1 ) {
    $Full = 0; //Se Full = 1 tutti i dati saranno visti. Con Full = 0, non si vedranno i dati di clcoro combinato e redox
    } else {
    $Full = 1; //Se Full = 1 tutti i dati saranno visti. Con Full = 0, non si vedranno i dati di clcoro combinato e redox
    }
    if($utente == 2) {
        if ($Analisi35 == 0 ) {
            $Titolo = $NOME_Impianto . " - " . $nvasca. " - PRO5";
        } else { 
        
            $Titolo = $NOME_Impianto . " - " . $nvasca. " - PRO3"; 
        }
    } else {
        $Titolo = $NOME_Impianto . " - " . $nvasca;
    }



//var_dump($utente);
//var_dump($Analizzatore);
//die();

?>


<!DOCTYPE html>
<html>
<head>
    <title>Grafici e Tabelle</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <style>
        body {
            /* background: linear-gradient(to bottom, blue, green); /* Sfondo variegato dal blu al verde */
            background: #C0C0C0;
            margin: 0;
            padding: 0;
        }

        .header {
            background-color: transparent; /* Sfondo trasparente */
            color: #007bff; /* Testo blu */
            text-align: center; /* Allinea il testo al centro */
            padding: 20px; /* Spaziatura interna */
            font-size: 32px; /* Dimensione del carattere aumentata */
            font-weight: bold; /* Grassetto */
        }
        .utente {
            position: absolute;
            top: 100px;
            left: 20px;
            color: #000;
            font-size: 20px;
            text-decoration: underline;
        }
        .chart-container {
            background-color: white; /* Imposta lo sfondo bianco */
            margin: 0 auto 20px auto; /* Spazio tra i grafici e il testo sottostante */
            width: 80%;
            padding: 20px; /* Aggiunge spaziatura interna per la cornice */
            border: 1px solid black; /* Cornice di 1px nera */
            box-sizing: border-box; /* Include il bordo nella larghezza */
        }

        /*.chart-separator {
            height: 20px; /* Altezza dello spazio tra i grafici */
           /* background: linear-gradient(to bottom, blue, green);  Sfondo variegato dal blu al verde  
        } */
    </style>
</head>
<body>

<div class="header"> <?php echo $Titolo; ?> </div>
<div class="utente">Utente: <?= htmlspecialchars($nome_utente ?? 'Ospite', ENT_QUOTES, 'UTF-8') ?></div> 

<a href="javascript:history.back()" style="font-size: 20px; color: white;">  Torna Indietro</a><br><br>

<?php

if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["miadatamod"])) {
    $date = $_POST["miadatamod"];
} else {
    echo "Nessuna variabile ricevuta dalla richiesta POST.";
}
    // $filename = 'C:\xampp\htdocs\archivi\2024\01\ 159006_05012024.csv'; // Percorso aggiornato
    // $filename = 'C:\xampp\htdocs\archivi\2024\01\ ' . $date; 
   
    $filename = 'C:\xampp\htdocs\archivi' . $date; 

//var_dump($filename);
//die();


    $data = [];
    $timeStamps = [];

    $handle = @fopen($filename, "r");

    if ($handle !== FALSE) {
        while (($row = fgetcsv($handle, 1000, ";")) !== FALSE) {
            $timeStamps[] = $row[0];
            $row[1] = (float)str_replace(',', '.', $row[1]);
            $data['Cloro Libero ppm'][] = $row[1] === '100' ? "-.--" : ($row[1] > 5.00 ? null : $row[1]);
            
            $row[2] = (float)str_replace(',', '.', $row[2]);
            $data['pH'][] =  ($row[2] === '100' || $row[2] > 8.0 || $row[2] < 6.0) ? "-.--" : $row[2];
        
            $row[3] = (float)str_replace(',', '.', $row[3]);
            $data['°C'][] =  ($row[3] === '100' || $row[3] > 35.0 || $row[3] < 25.0) ? "-.--" : $row[3];
            
            
        if($Full == 1 ) { 
            // Gestione Cloro Combinato
            $row[4] = (float)str_replace(',', '.', $row[4]);
            $data['Cloro Combinato ppm'][] = $row[4] === '100' ? "-.--" : ($row[4] > 5.00 ? null : $row[4]);
    
            // Gestione Redox
            $row[5] = (float)str_replace(',', '.', $row[5]);
            $data['Redox mV'][] = ($row[5] < 0.00 || $row[5] > 1000.00) ? null : $row[5];
            }
        }
        fclose($handle);

        } else {
        // Il file non può essere aperto, gestisci l'errore
        echo "<script>history.back();</script>";
        exit();
    }

    // Dati e impostazioni di base per ciascun grafico
    $chartSettings = [
        'Cloro Libero ppm' => ['color' => 'blue', 'min' => 0.00, 'max' => 5.00],
        'pH' => ['color' => 'green', 'min' => 6.00, 'max' => 8.00],
        '°C' => ['color' => 'red', 'min' => 25.0, 'max' => 35.0]
    ];

    // Aggiungi le impostazioni per Cloro Combinato e Redox solo se $Full è 1
    if ($Full == 1) {
        $chartSettings['Cloro Combinato ppm'] = ['color' => 'orange', 'min' => 0.00, 'max' => 5.00];
        $chartSettings['Redox mV'] = ['color' => 'purple', 'min' => 0.00, 'max' => 1000.00];
    }


    $firstChart = true;

    foreach ($chartSettings as $label => $settings) {
        if ($firstChart) {
            $firstChart = false;
        } else {
            echo '<div class="chart-separator"></div>'; // Aggiungi uno spazio tra i grafici
        }
        echo '<div class="chart-container">';
        echo '<canvas id="chart' . $label . '"></canvas>';
        echo '</div>';
        echo '<script>';
        echo 'new Chart(document.getElementById("chart' . $label . '"), {';
        echo 'type: "line",';
        echo 'data: {';
        echo 'labels: ' . json_encode($timeStamps) . ',';
        echo 'datasets: [{';
        echo 'label: "' . $label . '",';
        echo 'data: ' . json_encode($data[$label]) . ',';
        echo 'borderColor: "' . $settings['color'] . '",';
        echo 'tension: 0.1';
        echo '}';
        // Aggiungi il secondo set di dati per pH, se esiste
        if (isset($settings['additionalData'])) {
            echo ', {';
            echo 'label: "' . $settings['additionalData'] . '",';
            echo 'data: ' . json_encode($data[$settings['additionalData']]) . ',';
            echo 'borderColor: "' . $settings['additionalColor'] . '",';
            echo 'tension: 0.1';
            echo '}';
        }
        echo '],';
        echo '},';
        echo 'options: {';
        echo 'plugins: {';
        echo 'legend: {';
        echo 'labels: {';
        echo 'font: {';
        echo 'size: 16,'; // Dimensione del carattere
        echo 'weight: "bold"'; // Grassetto
        echo '}';
        echo '}';
        echo '}';
        echo '},';
        echo 'scales: {';
        echo 'y: {';
        echo 'min: ' . $settings['min'] . ',';
        echo 'max: ' . $settings['max'];
        echo '}';
        echo '}';
        echo '}';
        echo '});';
        echo '</script>';
    }
    ?>

<br><a href="javascript:history.back()" style="font-size: 20px; color: white;">  Torna Indietro</a><br>

</body>
</html>

<!-- Tabella dei valori dei grafici -->
<style>
    td, th {
        text-align: center; /* Centra il testo nelle celle */
    }
</style>

<table border="1" style="width: 80%; margin-top: 20px; background-color: white; margin-left: auto; margin-right: auto;">
<tr>
        <th>Ora</th>
        <th>Cloro libero ppm</th>
        <th>pH</th>
        <th>Temperatura (°C)</th>
      
        <?php  if($Full == 1 ) { ?>
            <th>Cloro Combinato ppm</th>
            <th>Redox mV</th>
        <?php } ?>
</tr>



<?php
// Lettura del file CSV e inserimento dei dati nella tabella


if ($Full == 1 ) {
    $SEL = 6;
} else  {
    $SEL = 4;
}

if (($handle = fopen($filename, "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
        echo "<tr>";
        // Visualizza solo i primi quattro valori
        for ($i = 0; $i < $SEL; $i++) {
            // Sostituisci i valori 100 o 100,00 con "---"
            $value = $data[$i];
            if (trim($value) == "100" || trim($value) == "100,00") {
                echo "<td>---</td>";
            } else {
                // Rimuovi l'uso di ltrim qui per mantenere gli zeri iniziali nelle ore
                echo "<td>" . htmlspecialchars($value) . "</td>";
            }
        }
        echo "</tr>";
    }
    fclose($handle);
}
?>
</table>

<br><a href="javascript:history.back()" style="font-size: 20px; color: white;">  Torna Indietro</a><br><br><br>


</body>
</html>