amelioration recup capacité traduction
This commit is contained in:
parent
842f41c860
commit
1f988d8064
@ -894,11 +894,14 @@ class CRVI_Plugin {
|
||||
return [];
|
||||
}
|
||||
|
||||
// Récupérer la date actuelle
|
||||
$date = current_time('Y-m-d');
|
||||
// Calculer le début et la fin du mois courant
|
||||
$date_actuelle = current_time('Y-m-d');
|
||||
$date_obj = new \DateTime($date_actuelle);
|
||||
$date_debut = $date_obj->format('Y-m-01'); // Premier jour du mois
|
||||
$date_fin = $date_obj->format('Y-m-t'); // Dernier jour du mois
|
||||
|
||||
// Utiliser la méthode du modèle qui gère le cache
|
||||
$capacites = \ESI_CRVI_AGENDA\models\CRVI_TraductionLangue_Model::getAllLanguesCapacitesForACF($date, true);
|
||||
// Utiliser la méthode du modèle qui gère le cache avec la plage de dates
|
||||
$capacites = \ESI_CRVI_AGENDA\models\CRVI_TraductionLangue_Model::getAllLanguesCapacitesForACF($date_debut, $date_fin, true);
|
||||
|
||||
return $capacites;
|
||||
}
|
||||
|
||||
@ -965,17 +965,27 @@ class CRVI_TraductionLangue_Model extends Main_Model {
|
||||
* Récupère toutes les langues avec leurs capacités détaillées (périodes et jours)
|
||||
* Format optimisé pour crviACFData JavaScript
|
||||
*
|
||||
* @param string|null $date Date de référence (Y-m-d). Si null, utilise la date actuelle
|
||||
* @param string|null $date_debut Date de début (Y-m-d). Si null, utilise le début du mois courant
|
||||
* @param string|null $date_fin Date de fin (Y-m-d). Si null, utilise la fin du mois courant
|
||||
* @param bool $use_cache Utiliser le cache transient (par défaut: true)
|
||||
* @return array ['langue_slug' => ['id' => X, 'name' => '...', 'total' => X, 'remaining' => Y, 'by_periode' => [...], 'by_jour' => [...]]]
|
||||
*/
|
||||
public static function getAllLanguesCapacitesForACF(?string $date = null, bool $use_cache = true): array {
|
||||
if (!$date) {
|
||||
$date = \current_time('Y-m-d');
|
||||
public static function getAllLanguesCapacitesForACF(?string $date_debut = null, ?string $date_fin = null, bool $use_cache = true): array {
|
||||
// Si aucune date n'est fournie, utiliser le mois courant
|
||||
if (!$date_debut || !$date_fin) {
|
||||
$date_actuelle = \current_time('Y-m-d');
|
||||
$date_obj = new \DateTime($date_actuelle);
|
||||
|
||||
if (!$date_debut) {
|
||||
$date_debut = $date_obj->format('Y-m-01'); // Premier jour du mois
|
||||
}
|
||||
if (!$date_fin) {
|
||||
$date_fin = $date_obj->format('Y-m-t'); // Dernier jour du mois
|
||||
}
|
||||
}
|
||||
|
||||
// Générer une clé de cache unique
|
||||
$cache_key = 'crvi_langues_capacites_acf_' . $date;
|
||||
// Générer une clé de cache unique basée sur la plage de dates
|
||||
$cache_key = 'crvi_langues_capacites_acf_' . $date_debut . '_' . $date_fin;
|
||||
|
||||
// Essayer de récupérer depuis le cache
|
||||
if ($use_cache) {
|
||||
@ -1017,7 +1027,8 @@ class CRVI_TraductionLangue_Model extends Main_Model {
|
||||
}
|
||||
|
||||
// Obtenir les disponibilités avec ventilation par jour
|
||||
$dispos = self::getDisponibilitesByLangueWithJours($langue_term->term_id, $date, $use_cache);
|
||||
// Utiliser la date de début pour le calcul (les méthodes sous-jacentes calculent déjà le mois complet)
|
||||
$dispos = self::getDisponibilitesByLangueWithJours($langue_term->term_id, $date_debut, $use_cache);
|
||||
|
||||
$result[$langue_term->slug] = [
|
||||
'id' => $langue_term->term_id,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user