Changeset 114197 in spip-zone


Ignore:
Timestamp:
Mar 1, 2019, 4:17:18 PM (6 months ago)
Author:
abelass@…
Message:

v1.2.0 les calcul des dates utiliséss

  • Se fait dans une fonction surchargeable
  • lors d'une vérification, adapter le décalage afin qu'il détecte les périodes d'un jour
Location:
_plugins_/objets_disponibilites/branches/v1
Files:
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/objets_disponibilites/branches/v1

  • _plugins_/objets_disponibilites/branches/v1/objets_disponibilites_fonctions.php

    r114030 r114197  
    3737        }
    3838        $contexte = array_merge($contexte, $options);
     39
    3940        /*
    4041         * Les indisponibles
    4142         */
    4243        // Les dates considérés comme utilisées
    43         if (isset($contexte['utilisation_squelette']) and
    44                 $chemin = $contexte['utilisation_squelette'] and
    45                 find_in_path($chemin . '.html')) {
    46                 $dates_utilisees = unserialize(recuperer_fond($chemin, $contexte));
    47         }
    48         else {
    49                 $dates_utilisees = array();
     44        $dates_utilisees = [];
     45        if (isset($contexte['utilisation_objet'])) {
     46                $utilisation_objet = $contexte['utilisation_objet'];
     47                if ($fonction = charger_fonction($utilisation_objet . '_utilise', 'disponibilites', TRUE)) {
     48                        $dates_utilisees = $fonction($contexte);;
     49                }
     50                else {
     51                        $fonction = charger_fonction('objet_utilise', 'disponibilites');
     52                        $dates_utilisees = $fonction($utilisation_objet, $contexte);
     53                }
    5054        }
    5155
  • _plugins_/objets_disponibilites/branches/v1/paquet.xml

    r114165 r114197  
    22        prefix="objets_disponibilites"
    33        categorie="auteur"
    4         version="1.1.12"
     4        version="1.2.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.2.*]"
  • _plugins_/objets_disponibilites/branches/v1/saisies/dates_disponibles.html

    r114027 r114197  
    77                - date_limite_debut : a partir de quand les dates sont affichées.
    88                - date_limite_fin : limite de dates à afficher
    9                 - utilisation_squelette : le squelette qui calcule les dates disponibles
    10                 - utilisation_id_exclu: identifiant à exlusre dans le calcul des disponibilités,
    11                         typiquement celui de l'objet su le quel se calcul les dsiponibilitées
     9                - objet : l'objet poir lequel on veit calculer les disponibilités
     10                - id_objet : l'identifiant de l'objet poir lequel on veit calculer les disponibilités
     11                -       indisponible_decalage_debut : calcul des indisponibles, le nombre de jour à ajouter au début
     12                indisponible_decalage_fin : calcul des indisponibles, le nombre de jour à ajouter à la fin
     13                disponible_decalage_debut : calcul des disponibles, le nombre de jour à ajouter au début
     14                disponible_decalage_fin : calcul des disponibles, le nombre de jour à ajouter à la fin
     15                utilise_decalage_debut : calcul des utilisés, le nombre de jour à ajouter au début
     16                utilise_decalage_fin : calcul des utilisés, le nombre de jour à ajouter à la fin
     17                utilisation_objet : l'objet à utiliser pour le calcul des dates utilisées,
    1218
    1319
    1420        Exemple d'appel :
    15         [(#INCLURE{
    16                 incluredates_disponibles,
    17                 nom=date_fin,
    18                 label=<:dates_outils:champ_date_fin_label:>,
     21        [(#SAISIE{dates_disponibles, date_debut,        obligatoire=oui,
     22                label=<:dates_outils:champ_date_debut_label:>,
    1923                objet=[(#ENV{location_objet}|objet_type)],
     24                date_limite_debut=#ENV{date_limite_debut,#DATE},
     25                date_limite_fin=#ENV{date_limite_fin,#DATE},
    2026                id_objet=#ENV{id_location_objet},
    21                 decalage_debut=#ENV{decalage_debut},
    22                 decalage_fin=#ENV{decalage_fin,1},
    23                 date_limite_debut=#ENV{date_limite_debut},
    24                 defaut=#ENV{date_debut},
    25                 utilisation_squelette=disponibilites/utilisees_objet_location.html,
    26                 utilisation_id_exclu=#ENV{id_objets_location}
     27                indisponible_decalage_debut=#ENV{indisponible_decalage_debut},
     28                indisponible_decalage_fin=#ENV{indisponible_decalage_fin},
     29                disponible_decalage_debut=#ENV{disponible_decalage_debut},
     30                disponible_decalage_fin=#ENV{disponible_decalage_fin},
     31                utilise_decalage_debut=#ENV{utilise_decalage_debut},
     32                utilise_decalage_fin=#ENV{utilise_decalage_fin},
     33                utilisation_objet=#ENV{utilisation_objet},
    2734        })]
    2835]
  • _plugins_/objets_disponibilites/branches/v1/verifier/dates_diponibles.php

    r114165 r114197  
    2525                        'utilise_decalage_debut' => 1,
    2626                        'utilise_decalage_fin' => 1,
    27                         'utilisation_squelette' => 'disponibilites/utilisees_' . $objet,
     27                        'utilisation_objet' => '',
    2828
    2929                ];
     
    3434                }
    3535
    36                 $intervalle = dates_intervalle($date_debut, $date_fin, 0, -1, $horaire, $format);
     36                $intervalle = dates_intervalle($date_debut, $date_fin, 1, 0, $horaire, $format);
     37
    3738
    3839                $disponible = dates_disponibles(array_merge(
     
    4445                                                'date_limite_fin' => $date_fin,
    4546                                                'format' => $format,
     47                                                'verifier' => TRUE,
    4648                                        ]
    4749                                )
    4850                        );
     51
    4952
    5053                $difference = array_diff($intervalle, $disponible);
Note: See TracChangeset for help on using the changeset viewer.