Bonjour,

Le 25/04/2015 15:17, Prunk Dump a écrit :
C'est bon j'ai trouvé le problème. Il y a bien 2 bugs dans l'helper de l'EDT :

Dans le fichier /orm/helpers/EdtHelper.php
Il y à la fonction getNbreDemiJourneeEtabOuvert.

-------------------------  (ligne 172)
if($date_debut_clone->format('h:i')=="00:00"){
    $date_clone->setTime(09,00,00); //on met 9 heures au cas ou un étab
commence à 8h30 par exemple
}elseif($date_debut_clone->format('h:i')=="12:00"){
    $date_clone->setTime(15,00,00);//on met 15 heures pour être dans la
demi journée de l'après-midi
}
-------------------------
Ici le format("h:i") donne le format en heure 12h au lieu de 24h. Il
faut mettre dans les deux cas ->format("H:i"). Avec un 'H' majuscule.
Je ne comprends pas pourquoi mais l'heure 00:00:00 (en format 24h)
donne 12:00:00 avec la fonction ->format("h:i:s"). C'est étonnant
quand même. Mais cela fonctionne avec "H". Du coup avec le bug Gepi ne
teste que des après midi.

C'est pris en compte.
Merci.


Ensuite
  $date_clone->setTime(09,00,00);
Ne marche pas car la fonction attends des entiers.
Il faut corriger en
$date_clone->setTime(9, 0, 0);

Sur les minutes et secondes, cela n'a pas l'air de poser pb.
En revanche sur l'heure, cela ne passe pas.

Là, ça ne passe pas:

$dt_date_test = new DateTime("25.04.2015");
$dt_date_test->setTime(08, 06, 04);
echo "\$dt_date_test<pre>";
print_r($dt_date_test);
echo "</pre>";


Là, ça passe:

$dt_date_test = new DateTime("25.04.2015");
$dt_date_test->setTime(8, 06, 04);
echo "\$dt_date_test<pre>";
print_r($dt_date_test);
echo "</pre>";


Du coup il faudrait vérifier toute la page et surtout les settime !!
Mais avec ces correction j'ai bien récupéré mon mercredi matin.

Je vais regarder tout cela...
Merci pour le debug.


Apparemment, seuls les 08 et 09 sont interprétés autrement que comme 8 ou 9.
Pas de soucis avec 01 à 07.


Curieusement, un 08 renvoyé d'une heure de créneau n'a pas d'impact sur le setTime:

$edt_creneau->getHeuredebutDefiniePeriode('H')=08 et $edt_creneau->getHeuredebutDefiniePeriode('i')=55

$dt_date_test donne

DateTime Object
(
    [date] => 2015-04-25 08:55:00.000000
    [timezone_type] => 3
    [timezone] => Europe/Paris
)


J'ai fait le tour des pages.
Il n'y avait pas d'impact ailleurs.


Le correctif sera dans les archives générées la nuit prochaine.


Merci.
--
Stephane Boireau
Collège Le Hameau - Bernay (27)
http://stephane.boireau.free.fr/gadgets/crobards.html
_________________________________________________________________________________
Documentation Gepi en ligne : http://www.sylogix.org/projects/gepi/wiki
Pour modifier ou résilier votre abonnement à cette liste :
https://lists.sylogix.net/mailman/listinfo/gepi-users

Répondre à