Forums


  • toutes ces lignes pour que Toxx ecrive des conneries dans la boite a chat !!!! whistle
     

  • tu 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 smile
     

  • 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
    Je crois que j'ai compris le soucis, au moins pour ce message.
    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)


    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
    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.
    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

    sachant aussi que tu as kiffé mettre les main dans le moteur smile

    toxxic
    Malheureusement je n'en suis plus là !
    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 me


     

  • Bon alors c'est la merde biggrin
    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 me
     

  • Ok, 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 me
     

Modérateur(s): ericc, toxxic, mich_belge