<?php
/**
 * sudo date --set "YYYY-MM-DD HH:MM:SS"
 * sudo apt install php8.2-intl
 * sudo service apache2 restart
 */

require_once(__DIR__ . '/../Class/class.newFiche.php');

$typeUser = $_SESSION['uType']; //visiteur ou comptable
$userId = $_SESSION['uId']; //exemple: 'b34'

/**
 * Gestion de la date selon la vue à afficher
 */
if (isset($_GET['currentList'])) {

    //Date des req SQL et function
    $date = date('Ym');

    //Timestamp de la date
    $dateTimeStamp = strtotime(date('Y-m-\01'));

    //Date du formulaire HF
    $dateFormHFMin = date('Y-m-\01');
    $dateFormHFMax = date("Y-m-t", mktime(0, 0, 0, date('m'), 1, date('Y'))); // retourne le dernier jour du mois (30 ou 31)

} elseif (isset($_GET['dateListing'])) {
    //Données pour nourire la vue
    $userId = $_REQUEST['userId'];
    $date = $_REQUEST['dateListing'];

    //Timestamp de la date
    $dateTimeStamp = strtotime(substr($date, 0, 4) . '-' . substr($date, 4) . '-01');

    //Date du formulaire HF
    $dateFormHFMin = substr($date, 0, 4) . '-' . substr($date, 4) . '-01';
    $dateFormHFMax = date("Y-m-t", mktime(0, 0, 0, date('m', $dateTimeStamp), 1, date('Y', $dateTimeStamp))); // retourne le dernier jour du mois (30 ou 31)

}
//Date du header en français
try {

    $format = new IntlDateFormatter(
        'fr_FR',
        IntlDateFormatter::FULL,
        IntlDateFormatter::FULL,
        'Europe/Paris',
        IntlDateFormatter::GREGORIAN,
        'MMMM Y'
    );
    $dateHeader = $format->format($dateTimeStamp);

} catch (\Throwable $th) {
    $dateHeader = date('F Y', $dateTimeStamp);
}

//Instance de l'objet newFiche qui gère toute la partie bdd
$newFiche = new Class_newFiche($pdo, $userId, $date);

/**
 * Liste des frais forfaitaires du mois et de l'user :: sinon afficher les libelle
 */
$listeFraisForfaitaire = $newFiche->listFraisForfaitForU();
if (count($listeFraisForfaitaire) == 0) {
    $listeFraisForfaitaire = $newFiche->listFraisForfaitaires();
}

/**
 * Listes des frais HF
 */
$listeFraisHf = $newFiche->listFraisHF();

/**
 * TOTAL DE LA FICHE
 */
$totalFraisFiche = $newFiche->getMontantValide();

/**
 * ETAT DE LA FICHE
 */
$status = $newFiche->getStatus();
$disabled = ($status !== 'CR') ? 'disabled' : '';

include(__DIR__ . '/../vues/v_newFiche.php');
