AP44/controleurs/c_nouvelleFiche.php

87 lines
2.2 KiB
PHP

<?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 nourir 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');