<?php
include "../database.php";
include "../globals.php";

require_once '../../plugins/sendgrid/config.php';
require "../../plugins/sendgrid/sendgrid-php.php";
session_start();

$id = $_POST["id"];
$permission_justification = $_POST["permission_justification"];
$permission_full_day      = $_POST["permission_full_day"];
$permission_note          = addslashes($_POST["permission_note"]);
$permission_start_date    = date("Y-m-d", strtotime($_POST["permission_start_date"]));
$permission_end_date      = date("Y-m-d", strtotime($_POST["permission_end_date"]));
$permission_start_time    = date("H:i", strtotime($_POST["permission_start_time"]));
$permission_end_time      = date("H:i", strtotime($_POST["permission_end_time"]));

$sql_update = "UPDATE permissions SET justification_id=$permission_justification, full_day=$permission_full_day, start_date='$permission_start_date', end_date='$permission_end_date', start_time='$permission_start_time', end_time='$permission_end_time', note='$permission_note' WHERE id = " . $id . "";
if ($con->query($sql_update) === TRUE) {

    $sql_permission    = "SELECT * FROM permissions WHERE id = ".$id."";
    $result_permission = mysqli_query($con, $sql_permission);
    $permission        = mysqli_fetch_assoc($result_permission);

    $sql_justification    = "SELECT * FROM justifications WHERE id = " . $permission['justification_id'] . "";
    $result_justification = mysqli_query($con, $sql_justification);
    $justification        = mysqli_fetch_assoc($result_justification);

    $start_datetime = $permission_start_date." ".$permission_start_time;
    $end_datetime = $permission_end_date." ".$permission_end_time;

    $sql_approve = "SELECT * FROM users WHERE role = 'Admin' AND permissions_approver = 1";
    $result_approve = mysqli_query($con, $sql_approve);
    while ($row_approve = mysqli_fetch_assoc($result_approve)) {
        $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-237ef87f4bac40f7b21cf2af3ccae71f");
        $email->addDynamicTemplateData("NHHR_richiedente", "" . $_SESSION["username"] . "");
        $email->addDynamicTemplateData("NHHR_data_richiesta", "" . date('d/m/Y H:i', strtotime($permission['permission_datetime'])) . "");
        $email->addDynamicTemplateData("NHHR_giustificativo", "" . $justification["name"] . "");
        if ($permission["full_day"] == 1) {
        $email->addDynamicTemplateData("NHHR_giornata_intera", "SI");
        } else {
        $email->addDynamicTemplateData("NHHR_giornata_intera", "NO");
        }
        $email->addDynamicTemplateData("NHHR_data_inizio", "" . date('d/m/Y', strtotime($permission['start_date'])) . "");
        $email->addDynamicTemplateData("NHHR_data_fine", "" . date('d/m/Y', strtotime($permission['end_date'])) . "");
        $email->addDynamicTemplateData("NHHR_ora_inizio", "" . date('H:i', strtotime($permission['start_time'])) . "");
        $email->addDynamicTemplateData("NHHR_ora_fine", "" . date('H:i', strtotime($permission['end_time'])) . "");
        $email->addDynamicTemplateData("NHHR_note", "" . $permission['note'] . "");
        $email->addDynamicTemplateData("NHHR_Link_Approva", $manage_permission_public_url."?permission_id=" . $permission['id'] . "&secure=" . $permission['secure'] . "&type=approve");
        $email->addDynamicTemplateData("NHHR_Link_Rifiuta", $manage_permission_public_url."?permission_id=" . $permission['id'] . "&secure=" . $permission['secure'] . "&type=reject");
        $sendgrid = new \SendGrid(SENDGRID_API_KEY);
        try {
            $response = $sendgrid->send($email);
        } catch (Exception $e) {
            echo 'Caught exception: ' . $e->getMessage() . "\n";
        }
    }
        
    $sql_update = "UPDATE tbl_events SET title='".$justification["name"]."', start='$start_datetime', end='$end_datetime', allDay=$permission_full_day WHERE id = " . $id . " AND source_type = 'Permesso'";
    if ($con->query($sql_update) === TRUE) {
        echo "ok";
    } else {
        echo "error";
    }
} else {
    echo "error";
}

$con->close();
