À propos Forums Québec Web Forum WordPress en français Extensions WordPress HivePress Opening Hours : problème lorsque l’heure de fermeture est après 23:59 Réponse à : HivePress Opening Hours : problème lorsque l’heure de fermeture est après 23:59

#1234

Nicolas
Administrateur
Apprenti
Up
0
Down
::

Je dis ça, et je réalise qu’en réalité ce problème pose une difficulté supplémentaire : qu’arrive-t-il à 1 h du matin vendredi lorsque l’établissement ferme à 2 h du matin le jeudi ? La condition ne dépend pas alors de l’heure de fermeture du jour actuel, mais de celle de la veille.

La logique de la requête (qui doit certainement se traduire en une requête SQL) reste à éclaircir […]

Si on a :

veille.ouverture = heure d'ouverture du jour de la veille (hier)
veille.fermeture = heure de fermeture du jour de la veille (hier)
auj.ouverture = heure d'ouverture du jour actuel
auj.fermeture = heure de fermeture du jour actuel
heure = heure actuelle
ouvert = état actuel d'ouverture à déterminer

Alors on peut définir la condition d’ouverture actuelle du commerce ainsi :

SI (
  ( veille.fermeture < veille.ouverture ) // fermeture la veille après minuit
  ET ( heure < veille.fermeture ) // commerce encore ouvert
) OU (
  ( heure >= auj.ouverture ) // commerce déjà ouvert
  ET (
    ( auj.fermeture < auj.ouverture ) // fermeture aujourd'hui après minuit
    OU ( heure < auj.fermeture ) // commerce encore ouvert
  )
)
ALORS ouvert = VRAI // le commerce est actuellement ouvert

Cas limite : certains cas limite (quoique extrêmement improbables) pourraient ne pas être représentés, eg. un commerce qui ouvrirait à 2h du matin (le mardi) et fermerait ensuite à 4h du matin (soit le lendemain matin) pour ré-ouvrir plus tard (le mercredi) est dans l’impossibilité de représenter cela dans la structure de données actuelle de HivePress Opening Hours.