<?php

namespace Garradin;

use Garradin\Plugin\RecusFiscaux\Activite;
use Garradin\Plugin\RecusFiscaux\Personne;
use Garradin\Plugin\RecusFiscaux\Tarif;
use Garradin\Plugin\RecusFiscaux\Utils;

// ------------------------------------------------------------
// récupérer les infos du formulaire
// ------------------------------------------------------------

// tarifs sélectionnés
$tarifsSelectionnes = f('tarifs') ?: [];

// comptes sélectionnés
$comptesSelectionnes = f('comptes') ?: [];

// taux de réduction associés
$tauxSelectionnes = array();
foreach ($tarifsSelectionnes as $idTarif)
{
    $nomRadio = "taux_reduction_" . $idTarif;
    $valRadio = f("$nomRadio");
    $tauxSelectionnes[$idTarif] = $valRadio;
}
foreach ($comptesSelectionnes as $idCompte)
{
    $nomRadio = "taux_reduction_" . $idCompte;
    $valRadio = f("$nomRadio");
    $tauxSelectionnes[$idCompte] = $valRadio;
}
$_SESSION['tauxSelectionnes'] = $tauxSelectionnes;

// versements correspondants à la sélection, triés par tarif, nom, compte, date
$lesTarifs = array_map(fn($elem) : string => substr($elem, 0, strpos($elem, '_')),
                       $tarifsSelectionnes);
$lesComptes = array_map(fn($elem) : string => substr($elem, 1 + strpos($elem, '_')),
                       $tarifsSelectionnes);
$_SESSION['lesVersements'] =
                           Utils::getVersementsTarifsComptes(
                               $_SESSION['annee_recu'],
                               $lesTarifs,
                               $lesComptes,
                               $champsNom);

// ajouter les versements sans tarif (tri par nom, compte, date)
$versementsSansTarif = Utils::getVersementsComptes($_SESSION['annee_recu'],
                                                   $comptesSelectionnes,
                                                   $champsNom);
foreach ($versementsSansTarif as $versement)
{
    $_SESSION['lesVersements'][] = $versement;
}

// préparation de l'affichage
$tpl->assign('lesVersements', $_SESSION['lesVersements']);
$tpl->assign('plugin_css', ['style.css']);

// envoyer au template
$tpl->display(PLUGIN_ROOT . '/templates/versements_activites.tpl');