services->get(EntryManager::class)->search(
[
'queries' => ['trajet' => $fiche['id_fiche']],
'formsIds' => [6],
'keywords' => '',
'user' => '',
'minDate' => '',
'correspondance' => ''
],
true, // filter on read ACL,
true // use Guard
);
//dump($entries);
$nbres = count($entries);
return (int) $fiche['capacite_de_transport'] - (int) $nbres;
}
function getStatus($fiche, $consultable = false)
{
$dateFermeture = date(DATE_W3C, strtotime("-1 days", strtotime($fiche['date_du_trajet'])));
$dateContrainte = !empty($fiche['bf_contrainte_date']) ? date(DATE_W3C, strtotime($fiche['bf_contrainte_date'])) : null;
if (!empty($dateContrainte)) {
$dateFermeture = $dateContrainte;
}
$dateDisparition = date(DATE_W3C, strtotime("+1 hour", strtotime($fiche['date_du_trajet'])));
$dateJour = date(DATE_W3C);
if (!empty($dateContrainte) && $dateJour < $dateContrainte) {
$status = 'Ouvert';
} elseif ($dateJour < $dateFermeture) {
$status = 'Ouvert';
} elseif ($dateJour < $dateDisparition) {
$status = 'Fermé';
} else {
if (!$consultable) {
$status = 'Fini';
} else {
$status = 'Fini consultable';
}
}
return $status;
}
function displayReservation($fiche)
{
$output = '';
$isProducteur = ($GLOBALS['wiki']->GetUserName() == $GLOBALS['wiki']->GetPageOwner($fiche['listefiche8producteur']));
$status = getStatus($fiche, $GLOBALS['wiki']->UserIsOwner($fiche['id_fiche']) || $isProducteur);
if ($status == 'Fini consultable' || $status == 'Ouvert' || $status == 'Fermé') {
// récuperer la fiche producteur
$producteur = baz_valeurs_fiche($fiche['listefiche8producteur']);
$placesrestantes = calculateFreePlaces($fiche);
if ($GLOBALS['wiki']->UserIsOwner($fiche['id_fiche']) || $isProducteur || $GLOBALS['wiki']->UserIsAdmin()) {
$entries = $GLOBALS['wiki']->services->get(EntryManager::class)->search(
[
'queries' => ['trajet' => $fiche['id_fiche']],
'formsIds' => [6],
'keywords' => '',
'user' => '',
'minDate' => '',
'correspondance' => ''
],
true, // filter on read ACL,
true // use Guard
);
if (count($entries) == 0) {
$output .= '
Il n\'y a pas encore de personnes qui participent à ce trajet.';
} else {
$output .= '
Liste des personnes qui participent à ce trajet';
$output .= $GLOBALS['wiki']->Format('{{bazarliste id="6" query="trajet=' . $fiche['id_fiche'] . '" template="tableau" columnfieldsids=",bf_prenom,bf_nom,bf_telephone,bf_commentaire"}}');
}
} else {
if ($placesrestantes < 1) {
$output .= 'Trajet complet';
} else {
$output .= '
Nombres de places restantes : ' . $placesrestantes . '
'; if ($status == 'Ouvert') { $output .= ' Je profite de ce trajet'; } else { $output .= 'Fermé'; } } } return $output; } }