Forums
Nouvelle Chatbox
-
10 ans avanttoutes ces lignes pour que Toxx ecrive des conneries dans la boite a chat !!!! -
10 ans avanttu radotes Marco !
D'autant que si ricco a entre autre installer une modération de la box c'est qu'il devait penser a tes messages pernicieux -
10 ans avant
Je crois que j'ai compris le soucis, au moins pour ce message.Peut être un indice , les espaces que la box ajoute suivent souvent un retour a la ligne , par exemple dans ton message d'essais de retour a la ligne après édition , "des" est devenu "d es" parce que c'est le premier mot suite au retour a ligne . le plus bizarre c'est que cela tombe tout a fait aléatoirement
toxxic
A l'affichage (et seulement à l'affichage) la chatbox insert un espace dans les mots "trop long" (plus de X caractères) afin qu'ils ne dépassent pas de la taille relativement limité du menu de droite. (par défaut, le html ne fait de retour à la ligne au milieu d'un mot, uniquement sur un espace).
Le soucis (à mon avis) c'est qu'il ne considère pas les retour à la ligne comme des espaces et donc les compte comme caractères ...
Donc il voit le message comme un seul "mot" et il insère un espace après le 15e caractère.
Si j'ajoute des espaces dans le message avant les retours à la ligne, il n'y a plus de soucis (voir deuxième message dans la chatbox)
comme je viens de le dire, le html affiche les mots en entier et est incapable de faire un retour à la ligne en plein milieu si un est trop long pour tenir dans la place prévue.je ne vois pas non plus l'interet de couper les mots long a par de les rendre peu lisible et je ne vois pas ce que cela apporte ou protège ou...
toxxic
Donc soit il ajoute une barre de défilement horizontale, soit il agrandi automatiquement le "container"
L'un comme l'autre ont pour résultat de "casser" la présentation de la page
Je pense me souvenir que nous avions un soucis de ce genre avec la chatbox de l'ancien site de lphant.fr
Malheureusement je n'en suis plus là !sachant aussi que tu as kiffé mettre les main dans le moteur
toxxic
Depuis maintenant 2 ans, je bouffe du code à longueur de journée, principalement du TCL qui est un langage "moisi", et dans 99% du temps même pas le mien, ce qui est, crois moi, beaucoup plus compliqué. Une des preuves évidente du problème, c'est que nous avons énormément de problème pour trouver de gens compétents pour faire le même travail que moi.
Donc crois moi, quand je rentre le soir, cela ne m'amuse plus tellement de remettre mon nez dans le code de quelqu'un d'autre pour corrigé ses conneries.
C'est un peu comme si toi, plombier/chauffagiste, tu devais refaire toutes tes canalisations chez toi en rentrant le soir après avoir taffé pendant 10h (canalisations qui aurait été bien évidemment posée par un amateur un peu dégénéré)
ericc
-
10 ans avantBon alors c'est la merde
Le site est encodé en UTF8 (pour afficher correctement tout les caractères).
La coupure des mots est géré par un paramètre dans le "core" de e107 et pas dans la chatbox et par une fonction qui fait le boulot, elle aussi dans le "core" (forcement).
Il y a une routine spécifique pour géré l'UTF8, mais manifestement les développeurs n'ont pas pensé au(x) caractère(s) "retour à la ligne" qui, de ce fait, est traité comme un caractère normal et pas un espace.
J'ai même trouvé la ligne qu'il faudrait que je modifie :$whiteSpace = '#([\x20|\x0c]|[\xe1][\x9a][\x80]|[\xe1][\xa0][\x8e]|[\xe2][\x80][\x80-\x8a,\xa8]|[\xe2][\x81][\x9f]|[\xe3][\x80][\x80]+)#';
c'est cette ligne qui défini les caractères (codes) UTF8 qui doivent être considéré comme "espace" (et donc arrêter le compte des caractères consécutifs)
Mais c'est le "core", autrement dit les fonctions de base qui gèrent tout le reste et une petite connerie dans cette partie risque de foutre la merde à plusieurs endroits, donc quand je ne suis pas sur de moi, j'évite d'y toucher (en plus à la prochaine mise à jour, il y a des risques que cela soit effacé).
Comme solution immédiate, j'ai augmenté le paramètre de 15 à 25. Cela devrait réduire considérablement le problème.
D'autre part, j'ai exposé mon problème sur le forum officiel de e107, en espérant que quelqu'un propose une solution.
Une autre habitude à prendre afin d'éviter ce soucis, c'est de terminer vos phrases par un espace, avant de mettre un "retour à la ligne".
ericc -
10 ans avantOk, j'ai trouvé et corrigé le problème !!
Il m'auras fallu plus de 4 jours de débogguage intense et l'aide d'un développeur de e107, mais maintenant cela ne devrait plus poser de problème
Une bonne chose de faite
ericc