getConfig('nomChamps'); uasort($confNoms, function ($a, $b) { return $a->position - $b->position; }); $champsNom = array(); foreach ($confNoms as $nom => $champ) { if ($champ->position != 0) { $champsNom[] = $nom; } } // récupérer les infos du formulaire $tarifsSelectionnes = f('tarifs') ?: []; // taux de réduction associés $tauxSelectionnes = array(); foreach ($tarifsSelectionnes as $idTarif) { $nomRadio = "taux_reduction_" . $idTarif; $valRadio = f("$nomRadio"); $tauxSelectionnes[$idTarif] = $valRadio; } $_SESSION['tauxSelectionnes'] = $tauxSelectionnes; // obtenir les instances de tarifs correspondant à la sélection $lesTarifs = array(); foreach (Utils::getTarifs($tarifsSelectionnes) as $ot) { $lesTarifs[$ot->id] = $ot; } $_SESSION['lesTarifs'] = $lesTarifs; // activités correspondants aux tarifs sélectionnés $lesActivites = array(); foreach (Utils::getActivites($tarifsSelectionnes) as $activite) { $lesActivites[$activite->id] = $activite; } $_SESSION['lesActivites'] = $lesActivites; // versements correspondants aux tarifs sélectionnés $_SESSION['lesVersements'] = Utils::getVersementsTarifs($_SESSION['annee_recu'], $tarifsSelectionnes, $champsNom); // membres donateurs $_SESSION['membresDonateurs'] = Utils::getDonateurs($_SESSION['annee_recu'], $champsNom); // ------------------------------------------------------------------------ // fonctions pour l'affichage // afficher les informations d'une activité et d'un tarif $tpl->register_function('afficher_debut_tarif', function ($params) { $versement = $params['versement']; $idTarif = $versement->idTarif; $tarif = $_SESSION['lesTarifs'][$idTarif]; $idActivite = $tarif->idActivite; $activite = $_SESSION['lesActivites'][$idActivite]; $out = '
'; $out .= sprintf('

Activité « %s »

', $activite->label); if (!empty($activite->description)) { $out .= sprintf('

%s

', $activite->description); } $out .= sprintf('

tarif « %s »', $tarif->label); if ($tarif->montant > 0) { $out .= sprintf(' montant : %.2f €', $tarif->montant/100); } else { $out .= ' montant : libre'; } $out .= '

'; return $out; }); // afficher les informations d'une personne $tpl->register_function('afficher_debut_personne', function ($params) { $versement = $params['versement']; $idUser = $versement->idUser; $personne = $_SESSION['membresDonateurs'][$idUser]; $idVersement = $versement->idTarif . "_" . $versement->idUser; $out = sprintf('

Versements de %s : 0,00 €

', $personne->nomPrenom, $idVersement); $out .= sprintf('
', $idVersement); $out .= sprintf(' ', $idVersement, $idVersement); $out .= sprintf(' ', $idVersement); $out .= '

'; return $out; }); // afficher un versement $tpl->register_function('afficher_versement', function ($params) { $versement = $params['versement']; $rang = $params['rang']; $idVersement = $versement->idTarif . "_" . $versement->idUser; $out = '
' : 'impair">'; $out .= sprintf(' %.2f %s
', $idVersement, $idVersement, $rang, $rang, $idVersement, $rang, $idVersement, $idVersement, $rang, $versement->versement/100, date_format(date_create($versement->date),"d/m/Y")); return $out; }); // ------------------------------------------------------------------------ // préparation de l'affichage $tpl->assign('lesActivites', $lesActivites); $tpl->assign('lesTarifs', $lesTarifs); $tpl->assign('lesVersements', $_SESSION['lesVersements']); $tpl->assign('plugin_css', ['style.css']); // envoyer au template $tpl->display(PLUGIN_ROOT . '/templates/versements_activites.tpl');