<?php
echo nl2br("Inizio importazione\n");

$DATABASE_HOST = 'mhhtmffhrtest.mysql.db';
$DATABASE_USER = 'mhhtmffhrtest';
$DATABASE_PASS = 'fhK75Dkdndk434h';
$DATABASE_NAME = 'mhhtmffhrtest';

$con           = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if (mysqli_connect_errno()) {
    exit('Failed to connect to MySQL: ' . mysqli_connect_error());
} else {
    echo nl2br("Collegamento a DB riuscito\n");
}

$sql_insert_logs = "INSERT INTO stamps_import_logs VALUES (NULL,'" . date("Y-m-d H:i:s") . "', 'Inizio importazione')";
$con->query($sql_insert_logs);

$stamps_loaded = 0;

$file = fopen("../../../timbrature/transactions.csv", "r"); //Per testing
/* $file = fopen("./timbrature/transactions.csv", "r"); */ //Per cron

if (($open = $file) !== false) {
    echo nl2br("File rilevato e aperto\n");

    while (($data = fgetcsv($open, 1000, ",")) !== false) {
        $array[] = $data;
    }
    fclose($open);
    /* unlink("../../../timbrature/transactions.csv"); //Per testing*/
    /* unlink("./timbrature/transactions.csv"); //Per cron, solo in live */

    $sql_insert_logs = "INSERT INTO stamps_import_logs VALUES (NULL,'" . date("Y-m-d H:i:s") . "', 'File trovato e aperto')";
    $con->query($sql_insert_logs);
} else {
    echo nl2br("File non trovato o corrotto\n");
    echo nl2br("Fine importazione");

    $sql_insert_logs = "INSERT INTO stamps_import_logs VALUES (NULL,'" . date("Y-m-d H:i:s") . "', 'File non trovato')";
    $con->query($sql_insert_logs);

    exit;
}

for ($x = 0; $x < count($array); $x++) {
    $sql_user    = "SELECT * FROM users WHERE badge = " . $array[$x][0] . "";
    $result_user = mysqli_query($con, $sql_user);
    $user        = mysqli_fetch_assoc($result_user);

    if ($user["badge"] == $array[$x][0]) {
        if ($array[$x][1] == "E") {
            $stamp_type  = "Entrata";
        } else if ($array[$x][1] == "U") {
            $stamp_type  = "Uscita";
        }
        $stamp_date  = $array[$x][2];
        $stamp_time  = $array[$x][3];
        $datetime    = date("Y-m-d H:i:s");
        $user_id     = $user['id'];
        $secure               = rand(100000, 1000000);

        $sql_insert = "INSERT INTO stamps VALUES (NULL,$user_id,'$stamp_type','$stamp_date','$stamp_time','','$datetime', 0, 1,'',0,0,'$secure','')";
        if ($con->query($sql_insert)) {
            $stamps_loaded++;

            $json = new stdClass();
            $json->user = $user_id;
            $json->tipo = "$stamp_type";
            $json->data = "$stamp_date";
            $json->ora = "$stamp_time";
            $json_stamp = json_encode($json);
            echo nl2br("Timbratura importata: " . $json_stamp . "\n");
        }
    } else {
        echo nl2br("Badge " . $array[$x][0] . " non trovato\n");

        $sql_insert_logs = "INSERT INTO stamps_import_logs VALUES (NULL,'" . date("Y-m-d H:i:s") . "', 'Badge " . $array[$x][0] . " non trovato')";
        $con->query($sql_insert_logs);
    }
}

$sql_insert_logs = "INSERT INTO stamps_import_logs VALUES (NULL,'" . date("Y-m-d H:i:s") . "','" . $stamps_loaded . " timbrature importate con successo')";
$con->query($sql_insert_logs);

echo "Fine importazione";
$con->close();
