bonsoir
il semble bien (un peu comme l'avait dit Pat) qu'il y ait un problème avec le survol des "<<" et ">>" autour du mois dans le mini calendrier: chez moi, la flèche à gauche de "janvier" pointe sur "janvier" et la flèche droite pointe sur "mars" (même après recalcul de la page) une fois que j'ai cliqué et lorsque je suis revenu en arrière, ces liens marchent correctement et je ne trouve aucune réponse à ce problème. des pistes? une aide?
Jean-Christophe Sekinger a écrit (en cette belle journée du 29/01/2007 22:37) :
bonsoir
il semble bien (un peu comme l'avait dit Pat) qu'il y ait un problème avec le survol des "<<" et ">>" autour du mois dans le mini calendrier: chez moi, la flèche à gauche de "janvier" pointe sur "janvier" et la flèche droite pointe sur "mars" (même après recalcul de la page) une fois que j'ai cliqué et lorsque je suis revenu en arrière, ces liens marchent correctement et je ne trouve aucune réponse à ce problème. des pistes? une aide?
bien sûr... alors ça marche parfaitement chez vous ou bien?
Le bug est dû au fait que pour ajouter un mois, on se contente
de faire sans vérification : +1 mois.
Hors, 31/01/2007 + 1 mois => 31/02/2007 qui est en fait 03/03/2007 !
Donc, la fonction renvoie au mois de mars...
Voici donc ma nouvelle fonction :
// décale les mois de la date.
// cette fonction peut raboter le jour si le nouveau mois ne les
// contient pas
// exemple 31/01/2007 + 1 mois => 28/02/2007
function Agenda_moisdecal($date,$decalage,$format){
include_spip('inc/filtres');
$date_array = recup_date($date);
if ($date_array) list($annee, $mois, $jour) = $date_array;
if (!$jour) $jour=1;
if (!$mois) $mois=1;
$mois2 = $mois + $decalage;
$date2 = mktime(1, 1, 1, $mois2, $jour, $annee);
// mois normalement attendu
$mois3 = date('m', mktime(1, 1, 1, $mois2, 1, $annee));
// et si le mois de la nouvelle date a moins de jours...
$mois2 = date('m', $date2);
if ($mois2 - $mois3) $date2 = mktime(1, 1, 1, $mois2, 0, $annee);
return date($format, $date2);
}
Pat a écrit (en cette belle journée du 31/01/2007 18:35) :
Le bug est dû au fait que pour ajouter un mois, on se contente
de faire sans vérification : +1 mois.
Hors, 31/01/2007 + 1 mois => 31/02/2007 qui est en fait 03/03/2007 !
Donc, la fonction renvoie au mois de mars...
Voici donc ma nouvelle fonction :
// décale les mois de la date.
// cette fonction peut raboter le jour si le nouveau mois ne les
// contient pas
// exemple 31/01/2007 + 1 mois => 28/02/2007
function Agenda_moisdecal($date,$decalage,$format){
include_spip('inc/filtres');
$date_array = recup_date($date);
if ($date_array) list($annee, $mois, $jour) = $date_array;
if (!$jour) $jour=1;
if (!$mois) $mois=1;
$mois2 = $mois + $decalage;
$date2 = mktime(1, 1, 1, $mois2, $jour, $annee);
// mois normalement attendu
$mois3 = date('m', mktime(1, 1, 1, $mois2, 1, $annee));
// et si le mois de la nouvelle date a moins de jours...
$mois2 = date('m', $date2);
if ($mois2 - $mois3) $date2 = mktime(1, 1, 1, $mois2, 0, $annee);
return date($format, $date2);
}
Pat
d'abord un grand bravo et ensuite un grand merci!
ensuite, comment, nul dans tout ça, je mets cette variable? où? comment?
Pat a écrit (en cette belle journée du 31/01/2007 18:35) :
Le bug est dû au fait que pour ajouter un mois, on se contente
de faire sans vérification : +1 mois.
Hors, 31/01/2007 + 1 mois => 31/02/2007 qui est en fait 03/03/2007 !
Donc, la fonction renvoie au mois de mars...
Voici donc ma nouvelle fonction :
// décale les mois de la date.
// cette fonction peut raboter le jour si le nouveau mois ne les
// contient pas
// exemple 31/01/2007 + 1 mois => 28/02/2007
function Agenda_moisdecal($date,$decalage,$format){
include_spip('inc/filtres');
$date_array = recup_date($date);
if ($date_array) list($annee, $mois, $jour) = $date_array;
if (!$jour) $jour=1;
if (!$mois) $mois=1;
$mois2 = $mois + $decalage;
$date2 = mktime(1, 1, 1, $mois2, $jour, $annee);
// mois normalement attendu
$mois3 = date('m', mktime(1, 1, 1, $mois2, 1, $annee));
// et si le mois de la nouvelle date a moins de jours...
$mois2 = date('m', $date2);
if ($mois2 - $mois3) $date2 = mktime(1, 1, 1, $mois2, 0, $annee);
return date($format, $date2);
}
Pat
si je relis ton post du 29 je vois que c'est de cette fonction que tu parles mais
1. (#ENV{self}|parametre_url{#ENV{var_date},[(#DATE_REQUEST_SURE|Agenda_moisdecal{-1,'Y-m'})]})
c'est pour la flèche de gauche... et pour la fleche de droite? c'est (...)Agenda_moisdecal{+1,'Y-m'}?
2. dans quel fichier je mets ta fonction Agenda_moisdecal?
je l'ai pas encore testé...
si tu veux que les auteurs se penchent sur le problème, il vaut mieux être
très très précis, essayer d'abord de voir ce qui ne va pas par toi-même, et
ensuite laisser un message sur spip.zone...
Pat
"Jean-Christophe Sekinger" <jc.sekinger@free.fr> a écrit dans le message de
news: 45C1CD87.6080303@free.fr...
Pat a écrit (en cette belle journée du 01/02/2007 12:14) :
"jc" <jc.sekinger@free.fr> a écrit dans le message de news:
epsagd$a6b$1@sea.gmane.org...
j'ai récupéré la version svn... pas moyen de la faire marcher