v-l-m / vlm

Virtual loup de mer (aka Vlm) is an opensource sailing simulation
http://v-l-m.org
GNU Affero General Public License v3.0
27 stars 10 forks source link

Bug sur calendar du à races.fullcalendar.php rendant des title égal à null #700

Open pzia opened 9 years ago

pzia commented 9 years ago

Reported by mesosaure on 21 Feb 2012 00:28 UTC Dans externals\FullCalendar.js il y'a une fonction bien pourrie function htmlEscape(s) { return s.replace(/&/g, '&') .replace(/</g, '<') .replace(/>/g, '>') .replace(/'/g, ''') .replace(/"/g, '"') .replace(/\n/g, '
'); }

Le problme est dans la rponse JSON de http://testing.virtual-loup-de-mer.org/feed/races.fullcalendar.php?start=1327878000&end=1331506800&_=1329783587072 Il existe des valeurs "null". Object { start="1327690800", end="1327694400", title="Afrique-Est 9: Ile Sain...- Saint-Denis (Runion)", more...} Object { start="1328295600", end="1328299200", allDay=false, more...} start "1328295600"
end "1328299200"
title null allDay false
url "http://testing.virtual-...cs.php?idraces=20120203"

pzia commented 9 years ago

Commented by mesosaure on 21 Feb 2012 11:53 UTC Il y'avait une erreur sur un conflit jquery et prototype. fixed Ticket #694

Cette erreur tait dja prsente en 1.4.2, j'ai toutefois upgrad fullcalendar.js dans Ticket #694.

Notes sur l'upgrade ralis ; les licenses sur le module me paraissent toujours OK

Version d'origine /*

Version finale : / FullCalendar v1.5.3 http://arshaw.com/fullcalendar/ Use fullcalendar.css for basic styling. For event drag & drop, requires jQuery UI draggable. For event resizing, requires jQuery UI resizable. Copyright (c) 2011 Adam Shaw Dual licensed under the MIT and GPL licenses, located in MIT-LICENSE.txt and GPL-LICENSE.txt respectively. Date: Mon Feb 6 22:40:40 2012 -0800 /

pzia commented 9 years ago

Commented by mesosaure on 23 Feb 2012 22:05 UTC (In [3007]) See #700 : title set to "-no title found-" if racename is null.

pzia commented 9 years ago

Commented by mesosaure on 23 Feb 2012 22:09 UTC (In [3008]) See #700 : of course.

pzia commented 9 years ago

Commented by mesosaure on 23 Feb 2012 22:18 UTC (In [3009]) See #700 : perhaps here.

pzia commented 9 years ago

Commented by paparazzia on 6 Mar 2012 06:09 UTC Mais la question est pourquoi racename est il null ?

C'est en base ou bien la transformation de charset ? (j'ai pas tout lu).

pzia commented 9 years ago

Commented by mesosaure on 7 Mar 2012 19:22 UTC Pas formel sur le fait que ce soit en base. Il est sure que le JSON retourn comporte un title null et c'est trs localis testing.v-l-m.org ce qui exclue un problme li l'upgrade JQuery. Cette correction ne me semble pas urgente.

pzia commented 9 years ago

Commented by mesosaure on 8 Mar 2012 07:10 UTC mysql> select racename from races where racename is not null; mysql> 393 rows in set (0.00 sec)

priori pas de racename null, va falloir debugguer trunk/lib/phpcommon/racesiterators.class.php

pzia commented 9 years ago

Commented by mesosaure on 8 Mar 2012 07:21 UTC

Pour l'IDRACE 20120203 un caractre accentu dans le titre semble faire zouiller le WS Afrique-Est 10: Saint-Denis (Runion) - Port-Louis (Maurice)

pzia commented 9 years ago

Commented by mesosaure on 8 Mar 2012 07:42 UTC mysql> select racename from races where idraces =20120203; +--------------------------------------------------------------+ | racename | +--------------------------------------------------------------+ | Afrique-Est 10: Saint-Denis (Runion) - Port-Louis (Maurice) | +--------------------------------------------------------------+ 1 row in set (0.00 sec)

Dans trunk/lib/phpcommon/racesiterators.class.php il y'a une fonction suivante qui retourne sans doute NULL html_entity_decode($row['racename'], ENT_COMPAT, "UTF-8");

Donc c'est bien un problme de charset li une "racename" qui n'est pas la norme dans la base.