[spip-dev] Correction date_relative

Salut,

Depuis toujours, la fonction date_relative est bugguée, et donc peu utilisable ne pratique:
- quand un élément date de 23 heures, il est indiqué «depuis 23 heures»,
- dès qu'il passe 24 heures, par exemple 25 heures, c'est indiqué «depuis 2 jours».
Pareil pour tout (minutes, semaines, jours).

C'est faux, puisqu'un article posté «hier» ne doit pas être affiché «depuis 2 jours».

J'ai donc modifié ainsi:
- les valeurs sont calculées en floor et non plus en ceil;
- test pour traiter le cas où la valeur est «1», histoire d'avoir «depuis 1 minute», «depuis 1 semaine». Noter: les articles depuis 1 jour sont affichés «depuis hier».

=> J'introduis donc une petite série de chaînes de caractères supplémentaires pour traiter ces cas. Je les ai directement installés dans lang/spip_fr.php. J'espère que c'est suffisant pour qu'ils soient intégrés à l'interface des traducteurs (sinon, pouvez-vous me dire comment faire)?

=> Au passage, j'ajoute le calcul des secondes avant les minutes. Il y a réellement une utilité, même si ça ne semble pas évident a priori: je refais sur un site en dev le calcul de l'age en javascript, c'est donc dynamique, et là, afficher les secondes est à la fois utile et assez spectaculaire.

ARNO*

=> J'introduis donc une petite série de chaînes de caractères
supplémentaires pour traiter ces cas. Je les ai directement installés dans
lang/spip_fr.php. J'espère que c'est suffisant pour qu'ils soient intégrés à
l'interface des traducteurs (sinon, pouvez-vous me dire comment faire)?

oui c'est la bonne méthode.

=> Au passage, j'ajoute le calcul des secondes avant les minutes. Il y a
réellement une utilité, même si ça ne semble pas évident a priori: je refais
sur un site en dev le calcul de l'age en javascript, c'est donc dynamique,
et là, afficher les secondes est à la fois utile et assez spectaculaire.

le problème est toujours le même avec ce filtre : un "il y a 3 s" qui
reste dans un cache qui peut durer 3 jours :slight_smile: Mais bon on connaît
les solutions (date postée en ISO + affichage kikoo en javascript).

-- Fil

Depuis toujours, la fonction date_relative est bugguée, et donc peu
utilisable ne pratique:
J'ai donc modifié ainsi:
- les valeurs sont calculées en floor et non plus en ceil;

C'est drôle tu as créé un trou dans l'espace temps : maintenant quand
tu as une date d'il y a 29 jours, ça affiche "il y a 0 mois". Car > 4
semaines et < 30 jours.

-- Fil

C'est drôle tu as créé un trou dans l'espace temps : maintenant quand
tu as une date d'il y a 29 jours, ça affiche "il y a 0 mois". Car > 4
semaines et < 30 jours.

Corrigé en [14662].

-- Fil