<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
    exit("unauthorized");
}

include "../database.php";
include "../globals.php";

require_once '../../plugins/sendgrid/config.php';
require "../../plugins/sendgrid/sendgrid-php.php";

$stamp_id = $_POST["stamp_id"];
$result = $_POST["result"];

$sql_stamp    = "SELECT * FROM stamps WHERE id = " . $stamp_id . "";
$result_stamp = mysqli_query($con, $sql_stamp);
$stamp        = mysqli_fetch_assoc($result_stamp);

$sql_attendance    = "SELECT * FROM attendance WHERE month = " . date("m", strtotime($stamp['date'])) . " AND year = " . date("Y", strtotime($stamp['date'])) . " AND closed = 1";
$result_attendance = mysqli_query($con, $sql_attendance);
if ($result_attendance->num_rows > 0) {
    echo "attendancePresent";
    exit;
}

if ($_SESSION["role"] == "Admin") {
    $sql_delete = "DELETE FROM stamps WHERE id = " . $stamp_id . "";
    if ($con->query($sql_delete) === true) {
        $sql_attendance    = "SELECT * FROM attendance WHERE month = " . date("m", strtotime($stamp['date'])) . " AND year = " . date("Y", strtotime($stamp['date'])) . "";
        $result_attendance = mysqli_query($con, $sql_attendance);
        if ($result_attendance->num_rows > 0) {
            $attendance        = mysqli_fetch_assoc($result_attendance);

            $sql_update = "UPDATE attendance SET status = 'Da ricalcolare' WHERE id = " . $attendance["id"] . "";
            $con->query($sql_update);
        }

        echo "deleted";
    } else {
        echo "error";
    }
} else {
    $sql_user    = "SELECT * FROM users WHERE id = " . $stamp['user_id'] . "";
    $result_user = mysqli_query($con, $sql_user);
    $user        = mysqli_fetch_assoc($result_user);

    $sql_approve = "SELECT * FROM users WHERE role = 'Admin' AND stamps_approver = 1";
    $result_approve = mysqli_query($con, $sql_approve);
    while ($row_approve = mysqli_fetch_assoc($result_approve)) {
        //Invio mail
        $email = new \SendGrid\Mail\Mail();
        $email->setFrom("info@n-hub.com", "NH-HR");
        $email->addTo("" . $row_approve["email"] . "", "" . $row_approve["name"] . " " . $row_approve["surname"] . "");
        $email->SetTemplateId("d-aa2249941d534f70bf98ecea5a867fc4");
        //Here is the Place holder values you need to replace.
        $email->addDynamicTemplateData("NHHR_richiedente", "" . $user["name"] . " " . $user["surname"] . "");
        $email->addDynamicTemplateData("NHHR_tipo", "" . $stamp["type"] . "");
        $email->addDynamicTemplateData("NHHR_data_inizio", "" . date('d/m/Y', strtotime($stamp['date'])) . "");
        $email->addDynamicTemplateData("NHHR_ora_inizio", "" . date('H:i', strtotime($stamp['time'])) . "");
        $email->addDynamicTemplateData("NHHR_note", "" . $stamp['note'] . "");
        if ($stamp["in_transfer"] == 1) {
            $email->addDynamicTemplateData("NHHR_trasferta", "SI");
        } else {
            $email->addDynamicTemplateData("NHHR_trasferta", "NO");
        }
        $email->addDynamicTemplateData("NHHR_motivazione", "" . $result . "");
        $email->addDynamicTemplateData("NHHR_Link_Gestisci", $manage_stamp_url . "?stamp_id=" . $stamp['id'] . "&&user_id=" . $user["id"]);
        $sendgrid = new \SendGrid(SENDGRID_API_KEY);
        try {
            $response = $sendgrid->send($email);
        } catch (Exception $e) {
            echo 'Caught exception: ' . $e->getMessage() . "\n";
        }
    }

    $sql_update = "UPDATE stamps SET delete_request=1, delete_motivation = '$result' WHERE id = " . $stamp_id . "";
    if ($con->query($sql_update) === TRUE) {
        echo "requestSent";
    } else {
        echo "error";
    }
}

$con->close();
