developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
Opened 13 years ago
Closed 13 years ago
#442 closed bug (fixed)
boucle quand le message d'erreur n'existe pas dans le charset courant.
Reported by: | hugues | Owned by: | Julien |
---|---|---|---|
Priority: | high | Milestone: | Jelix 1.0.3 |
Component: | jelix:core:jLocale | Version: | 1.0.1 |
Severity: | critical | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Documentation needed: | no | |
Hosting Provider: | Php version: |
Description
En changeant le charset, j'ai une erreur qui revient à chaque fois ( mais qui n'empêche pas l'affichage de ma page )
PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in jelix/core/jLocale.class.php on line 132
Attachments (1)
Change History (12)
comment:1 Changed 13 years ago by laurentj
- Component changed from jelix to jelix:core
- Owner set to laurentj
comment:2 Changed 13 years ago by laurentj
- Documentation needed unset
- Milestone set to Jelix 1.1
- Priority changed from normal to high
- Severity changed from normal to critical
comment:3 Changed 13 years ago by Julien
- Owner changed from laurentj to Julien
comment:4 Changed 13 years ago by Julien
- Status changed from new to assigned
comment:5 Changed 13 years ago by Julien
comment:6 Changed 13 years ago by Julien
Ok, j'ai la solution qui fonctionne. Sur le même principe que le patch apporté par Laurent au #387.
J'ai fait en sorte qu'il aille chercher le charset UTF-8 dans la langue en_EN lorsque le message de l'exception à localiser est jelix~errors.selector.invalid.target.
De cette façon, plus de boucle infinie.
J'ai choisi UTF-8 car il n'y a pas de choix meilleur ou pire que celui-ci, de toute façon ce ne sera pas "compatible" avec le charset manquant demandé, sauf à faire des tables de compatibilité bien trop compliquées.
Comme c'est une réelle erreur technique (qui ne doit a priori jamais avoir lieu en production), je pense que en_EN en UTF-8 est valable.
Je ferai le patch ce soir en rentrant chez moi.
comment:7 Changed 13 years ago by laurentj
- Component changed from jelix:core to jelix:core:jLocale
Changed 13 years ago by Julien
comment:8 Changed 13 years ago by Julien
- review set to review?
Voici le patch, fonctionne comme annoncé au commentaire 6
comment:9 Changed 13 years ago by laurentj
- Milestone changed from Jelix 1.1 to Jelix 1.0.3
- review changed from review? to review+
ça me semble ok. J'ai ajouté des tests unitaires dans la branche 1.0.x et le trunk (testWithBadCharset dans core.jlocale.html_cli.php).
Tu peux inclure le patch dans le trunk et la branche 1.0.x (pour la branche, il va falloir le faire à la main car le patch a du mal a passé à cause de différence).
Décommente aussi le code dans testWithBadCharset.
Merci :-)
comment:10 Changed 13 years ago by Julien
Hello,
code intégré dans le commit [808] pour le trunk et la branche 1.0.x
Tests unitaires Ok aussi (NB : j'ai trouvé une petite typo dans les commentaires du test unitaire, corrigée dans le commit [809])
comment:11 Changed 13 years ago by Julien
- Resolution set to fixed
- Status changed from assigned to closed
Je prends le ticket en charge, car je travaille en parallèle sur le #95